如何创建“美国Reddit”图?


9

以下是p中的图表。Christian Rudder的Dataclysm的 202 ,尽管它是由James Dowdell制造的。它说明了排名前200的子reddit之间的关系,这是reddit.com上感兴趣的区域,用户可以在其中提交链接,评论和投票。这些类似于此站点上的标签。次修订区域的大小代表了它们的受欢迎程度。子评论通过交叉注释进行分组,并且较深的色调表示留在该子评论中而不发布给他人的人数百分比。

这仅仅是一个标准的Voronoi分区,带有一些用于孤立的颜色,还是更多地涉及其中?

如何去做其中之一?

美国Reddit


3
我不知道,但我想这是一个Voronoi制图 –可以调整点中心(未显示),直到每个Voronoi区域面积与预定值成比例。
ub

Answers:


7

首先,我是James Dowdell,所以我相当有资格回答(创建了一个回答帐户,如果有人担心,可以确认身份)。

简单的答案的确是其他人的猜测:这是http://en.wikipedia.org/wiki/Voronoi_diagram。我们在第194页使用了相同的概念,其中voronoi站点上有craigslist.org列出的纬度经度对。

不幸的是,这些知识实际上并不是很有用。使用Craigslist图,可以清楚地使用网站的值。但是,Dataclysm在此图中使用了什么魔术来分配x / y坐标?

答案比大多数人期望的要复杂得多,我不能说我建议重做我们所做的事情。我敢打赌,这里的其他人可能会建议一种可以或多或少获得相同结果并且简单得多的方法。

事实是:

克里斯蒂安和我来回走了三个多月,为本章创建了图表,使我们永远无法工作。但是,一种方法的结果通常会注入另一种方法。

  1. 不幸的是,最关键的事情涉及一种技术和一些我无法自由地以任何有意义的方式进行共享的图像资产,因为我们可能仍会以某种方式使用它们。我要说的是,我们获取了一个复杂的http://en.wikipedia.org/wiki/Graph_theory#Graph,该图是在Reddit数据的允许下编译而成的,涉及用户ID和子Reddit,我们使用了该图和各种派生工具它放在http://gephi.github.io/中(这些天我特别喜欢“ OpenOrd”)。实际上,我们得到了一个宏伟的图像-如果已经出版,那将是这本书的亮点-但尽管它在网站上能正常工作,但在书中的打印效果并不佳-空间或分辨率不足。克里斯蒂安(Christian)最初考虑将其设置为书中的折页,但是对Crown而言,这并不划算。

  2. 但是,在这一点上,我们有一个图像,该图像的子坐标具有x / y坐标,并且至少在x / y空间中相对正确地排列了它们。由于发布截止日期临近,我们也很着急。我首先是一名程序员,然后是一名数据专家,所以为了适应书中页面的极其狭窄的边界以及时钟的剩余时间,我的本能是在Box2D中编写一个程序来模拟页面的边界,如下所示:墙,在其中放进一个极其缩小的图形版本,并模拟增长这些节点(顺便说一句,Box2D并不自然,它希望刚体不会发生变化),直到所有东西都与墙齐平并彼此齐平为止。节点以与其代表的子reddit大小成比例的速率增长,这意味着最终大小也将以相同的方式成比例。运行时box2d程序的屏幕截图

  3. 结果一点看起来都不太好,但是确实给了我一些非常有价值的东西:voronoi网站。我将生成的box2d多边形的质心进行了标准处理,这就是本书中用于图形的内容。我相信文字标签是在Photoshop中手动粘贴的。

顺便说一句,单元格着色与我们为在(A)中形成图表而开发的统计数据有关


1
欢迎来到该网站。这接近于我可能尝试执行的操作。使用任何图形布局将xy坐标分配给节点。(在某些基于力的布局中,可能可以通过指定边缘权重和质量来使单元格近似于所需的大小,但我怀疑它们是否正确。)在创建原始图形布局的voronoi区域之后,使用Scapetoad之类的制图工具使结束区域与感兴趣的统计信息成比例。最终与box2d中建议的程序非常相似。
2014年

0

它看起来更像是具有Voronoi多边形外观的词云问题。您需要使用频率一词来确定位置(高频是指中心)。只要确定单词的位置,绘制Voronoi多边形就没什么大不了的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.