在Java中生成树形可视化

6

我不知道这种可视化类型的名称,但我想学习如何绘制像这张图片中的树一样的图形:

enter image description here

我在许多网站上都看到过这种可视化,但是我无法知道它背后的技术术语。


你需要研究图形布局算法,有很多种。或者你可以使用Processing,它已经包含了许多算法。 - Dave Newton
你想将它绘制成图像还是通过HTML进行渲染? - jmj
2个回答

5

那张图看起来很像一个力导向布局。绘制这种类型的图像并不容易,取决于你想要实现什么目标,你可能需要使用现有的框架。如果您想使用Java,您应该查看gephi,如果您可以使用HTML方法,您应该绝对查看d3.js,它是一种用于数据可视化的JavaScript库。他们有很好的例子:有向力布局可折叠力布局


不仅仅是布局,而是树本身。如何绘制它们?它们的名称... - Jack Twain
@guckogucko,我不确定我理解你的问题,树只是有向图的一种特殊情况。绘图的方式取决于所使用的算法。模拟退火可以得到良好的结果。 - amaurs

4
这张图片是由Stephanie Posavec制作的。您可以从她在Data Stories podcast上的采访中了解她的设计过程。据我所记,她部分地手工制作可视化效果,因此我不确定是否会找到完全符合您要求的算法。对于不同的树形布局算法,您可以参考treevis.net

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接