上下文

看看Wordle: http://www.wordle.net/ 它比我见过的任何其他词云生成器都好看得多 注意:源代码不可用-阅读常见问题:http://www.wordle.net/faq#code

我的问题

有没有一种算法可以做到Wordle所做的呢? 如果没有,有什么替代方案可以产生类似的输出?

我为什么问这个问题

只是好奇 想要学习


当前回答

我已经实现了Jonathan Feinberg所描述的算法,使用python创建了一个标记云。它与wordle.net的美丽云相去甚远,但它让你知道如何做到这一点。

你可以在这里找到这个项目。

其他回答

狮子和羔羊是一款开源的iOS应用程序,它可以使用圣经中最常用的单词来创建单词云。

它是基于乔纳森·范伯格所描述的算法。命中测试确实利用了四叉树,但是边界框是基于符号的边界矩形的。我想把字形分解成许多更小的边界矩形,以便在字形的边界框中放置单词。

GitHub: https://github.com/PetahChristian/LionAndLamb

这是一个非常好的javascript代码,来自Jason Davies,它使用了d3。你甚至可以使用web字体。

演示: http://www.jasondavies.com/wordcloud/

Github: https://github.com/jasondavies/d3-cloud

Tim Dream制作了一个非常不错的JavaScript库:

https://github.com/timdream/wordcloud2.js/blob/gh-pages/API.md

它可以在画布上或HTML标签上创建文字云,并提供许多选项来修改结果。它非常接近wordle的输出。

我创建了一个Silverlight组件,它使用Jonathan在这里建议的算法。源代码和示例项目都可以在我的博客上找到:

http://whydoidoit.com

我的云可以让你根据不同的权重为单词着色和大小,它支持单词选择(从坐标)和选中的单词高亮显示。源代码是您的,您可以根据需要使用。

这里看到我像云一样实现Wordle。 它使用相同的螺旋算法和四叉树数据结构。

http://sourcecodecloud.codeplex.com

or

http://www.codeproject.com/Articles/224231/Word-Cloud-Tag-Cloud-Generator-Control-for-NET-Win