创建树状图可视化
我想要一个用来创建树形图可视化的算法。
像这样:一个简单的树形图制作方法
问题是我不想用R语言……我想要源代码。最好是用Python或Java写的。
另外,我需要对它进行一些自定义……我想用图片代替颜色,所以能给我坐标的东西就太好了。
谢谢!
6 个回答
4
这篇维基百科文章的最后有一些不错的链接。
我可能会先尝试一种简单的方法,就是用递归和按比例划分。首先在树的第一层,把目标区域垂直划分(这里的每个区域就是一个分支,区域的大小取决于分支的大小):
+-------+-------+-------+
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
+-------+-------+-------+
在第二层,水平划分:
+-------+-------+-------+
| | | |
+-------+ | |
| +-------+ |
| | | |
| | +-------+
| | | |
+-------+-------+-------+
在第三层再垂直划分:
+--+----+----+--+----+--+
| | | | | | |
+--+-+--+ | | | |
| | +-+--+--+ | |
| | | | | | |
| | | | +---++--+
| | | | | | |
+----+--+-+-----+---+---+
以此类推。
10
在SourceForge.net上,有一个叫做TreeMap Java库的项目,它是一个开源的程序,使用了Ben Schneiderman的论文中描述的算法。
此外,Schneiderman的Treemap历史页面上也有一个参考实现的链接。