当前位置:  开发笔记 > 编程语言 > 正文

实现像Wordle一样的文字云的算法

如何解决《实现像Wordle一样的文字云的算法》经验,为你挑选了8个好方法。

我是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指出的那样,现在有一本免费提供的书籍章节涵盖了同一领域:美丽的可视化,第3章:Wordle



1> Jonathan Fei..:

我是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指出的那样,现在有一本免费提供的书籍章节涵盖了同一领域:美丽的可视化,第3章:Wordle


感谢您提供非常有用的信息.你先生,统治.
SO的美丽......你正在询问问题的人,可能实际上回答了你的问题!
"勤奋的谷歌搜索".喜欢它 :)
更多信息请访问:http://static.mrfeinberg.com/bv_ch03.pdf - 谢谢乔纳森.

2> Reto Aeberso..:

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

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



3> johnpolacek..:

这是来自Jason Davies使用d3的非常好的javascript.你甚至可以使用webfonts.

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

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



4> 小智..:

我创建了一个使用Jonathan在此建议的算法的Silverlight组件.我的博客上提供了源代码和示例项目:

http://whydoidoit.com

颜色词云

我的云可让您根据不同的权重对单词进行着色和调整大小,并支持单词选择(从坐标)和选定的单词突出显示.您可以根据需要使用该来源.

示例词云


你的博客似乎是空的.链接死了吗?

5> Dan Bernier..:

我正在使用WordCram,一个用于制作文字云的​​Processing库.它受Wordle的影响非常大,并且通过与上面链接的相同的PDF aeby进行通知.它可以为您处理碰撞检测,让您专注于您希望如何布置,着色,旋转等.



6> Wavel..:

http://code.google.com/apis/visualization/documentation/gallery.html

查看单词云可视化.不像wordle.net那么华丽,但很容易添加到您的网站.



7> sschwieb..:

我正在寻找一个类似于wordle的可视化,它可以分配与其他数据相关的字符串的颜色,初始位置和大小,例如文本中的相关性 - 没有找到任何内容,但是由于我在这里找到的信息(特别是Jonathan的解释和aeby的链接),我终于可以实现' Cloudio ',它与wordle相比非常接近(至少我认为是这样......)并提供我正在寻找的功能.

它是用SWT和JFace实现的,我试图将它集成到JFace的MVC模型中,这样你就可以设置内容和标签提供者来修改云的布局并将其添加到其他Eclipse插件或RCP中应用.您还可以修改计算字符串初始位置的方式,这样就不难将其用于集群可视化.它仍然记录不清,并且在某些方面受到限制(几小时前我做了初始上传,所以它可能仍然有点儿错误),但如果你感兴趣,请点击链接:

这里是一些创建云的链接,以防您需要快速印象:https://github.com/sschwieb/Cloudio/wiki/Example-Clouds

干杯,斯蒂芬



8> George Mamal..:

这里看到我像Word一样实现Wordle.它使用相同的螺旋算法和QuadTree数据结构.

http://sourcecodecloud.codeplex.com

要么

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

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有