Layout 实现类似Wordle的词云的算法 上下文 看看Wordle: 它比我见过的任何其他单词云生成器都好看 注意:源代码不可用-请阅读常见问题解答: 我的问题 有没有一种算法可以实现Wordle的功能 如果没有,有哪些替代方案可以产生类似的输出 我为什么这么问 只是好奇 想学

Layout 实现类似Wordle的词云的算法 上下文 看看Wordle: 它比我见过的任何其他单词云生成器都好看 注意:源代码不可用-请阅读常见问题解答: 我的问题 有没有一种算法可以实现Wordle的功能 如果没有,有哪些替代方案可以产生类似的输出 我为什么这么问 只是好奇 想学,layout,fonts,typography,tag-cloud,wordle,Layout,Fonts,Typography,Tag Cloud,Wordle,查看“云可视化”一词。不像wordle.net那么花哨,但添加到您的站点非常容易。我是wordle的创建者。以下是Wordle的实际工作原理: 数一数单词,扔掉枯燥的单词,然后按数字降序排序。将前N个单词保留一些N。为每个单词指定与其计数成比例的字体大小。使用Java2D API为每个单词生成Java2D形状 每个单词“想要”在某个地方,例如“在垂直中心的某个随机x位置”。按频率降序,对每个单词执行以下操作: place the word where it wants to be while i


查看“云可视化”一词。不像wordle.net那么花哨,但添加到您的站点非常容易。

我是wordle的创建者。以下是Wordle的实际工作原理:

数一数单词,扔掉枯燥的单词,然后按数字降序排序。将前N个单词保留一些N。为每个单词指定与其计数成比例的字体大小。使用Java2D API为每个单词生成Java2D形状

每个单词“想要”在某个地方,例如“在垂直中心的某个随机x位置”。按频率降序,对每个单词执行以下操作:

place the word where it wants to be
while it intersects any of the previously placed words
    move it one step along an ever-increasing spiral
就这样。难的部分在于有效地进行交叉点测试,为此我使用了最后一次命中缓存、层次边界框和四叉树空间索引(所有这些都可以通过勤奋的谷歌搜索了解更多)


编辑:正如Reto Aebersold所指出的,现在有一本书的章节,免费提供,涵盖了同样的领域:

我已经实现了Jonathan Feinberg使用python创建标记云的算法。它远离wordle.net的美丽云彩,但它给你一个如何做到这一点的想法


你可以找到这个项目。

我正在开发一个用于制作单词云的处理库。它深受Wordle的影响,并通过与上面链接的相同PDF aeby通知。它为您处理碰撞检测,并让您专注于您希望单词的布局、颜色、旋转等方式。

我这里有一个标记云生成器,我称之为Disorganizer:)

来源 和 和 你可以把它放在你的博客,个人资料等,周围有一个小包装。它大量使用C#4.0和System.Drawing命名空间


我之所以创建它,是因为使用其他云生成器,您无法单击标记进行导航,也无法创建悬停动画来显示它们是可单击的。因为在HTML中显示悬停动画对我来说是必要的(我正在使用覆盖的、绝对定位的
,但它是不完整的,并且位于一个不完整的站点中。如果有人想提供帮助,请与我联系,我会尽快将其分离出来。

我正在寻找一种类似于wordle的可视化,它允许指定与其他数据相关的字符串的颜色、初始位置和大小,例如由于文本中的相关性-没有找到任何东西,但由于我在这里找到的信息(特别是Jonathan的解释和aeby的链接),我终于可以实现“”,它与wordle比较接近(至少我认为是这样…),并提供了我想要的功能

它是用SWT和JFace实现的,我尝试将其集成到JFace的MVC模型中,这样您就可以设置内容和标签提供者来修改云的布局,并将其添加到其他Eclipse插件或RCP应用程序中。您还可以修改字符串初始位置的计算方式,以便在cl中使用它并不困难uster visualization或其他。它在某些方面仍然缺乏文档记录和限制(我在几个小时前完成了初始上传,因此可能仍然有点问题),但如果您感兴趣,这里有链接:

这里有一个指向一些创建的云的链接,以防您想要快速印象:

干杯,
Stephan

在这里可以看到我对Wordle-like云的实现。 它使用相同的螺旋算法和四叉树数据结构


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

My cloud允许您根据不同的权重对单词进行颜色和大小调整,它支持单词选择(从坐标)和选定的单词高亮显示。源代码可供您根据需要使用


这里有一个非常好的javascript,来自Jason Davies,它使用d3。你甚至可以使用webfonts

演示:

Github:
狮子与羔羊是一款开源的iOS应用程序,它使用精选圣经中最常用的单词创建单词云

它基于Jonathan Feinberg描述的算法。命中测试确实使用四叉树,但边界框基于字形的边界矩形。我想将字形分解为许多较小的边界矩形,以便在字形的边界框中放置单词

GitHub:


这里是另一个端到端的Python 3中wordle的实现主要基于Jonathan Feinberg的初始大纲(四叉树、螺旋等)

代码(注释,带有详细的自述文件)在此免费提供,这是使用代码创建的示例wordle


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


它可以在画布上创建一个词云,或者使用HTML标记创建一个词云,并提供许多选项来修改结果。它非常接近wordle的输出。

我已经实现了一个用Julia语言命名的词云生成器。可以找到关于其算法的简要说明。
与大多数其他实现不同,我基于梯度优化设计了它。这是一种非贪婪算法,在该算法中,单词定位后可以进一步移动。这意味着不需要收缩单词,因此在调整过程中可以保持单词大小不变。通过此实现,我们还可以做一些类似这样的花式工作:

“勤奋的谷歌搜索”。喜欢:)更多信息