我想要用于创建Treemap可视化的算法。
像这样:An Easy Way to Make a Treemap
问题是我不想使用R ...我想要源代码。最好是Python或Java。
事情是我必须自定义它...而不是我想要图像的颜色,所以给我坐标的东西会很棒。
谢谢,
答案 0 :(得分:10)
SourceForge.net上的TreeMap Java Library是一个开源实现的 Ben Schneiderman's paper中描述的算法。
还有一个参考实现链接到Schneiderman的Treemap History page。
答案 1 :(得分:4)
wikipedia article似乎在最后有一些很好的链接。
我可能首先尝试简单的递归和比例分割方法。在树的第一层,垂直划分目标区域(这里的每个区域都是一个分支,区域大小取决于分支大小):
+-------+-------+-------+
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
+-------+-------+-------+
在第二级,横向划分:
+-------+-------+-------+
| | | |
+-------+ | |
| +-------+ |
| | | |
| | +-------+
| | | |
+-------+-------+-------+
在第三级再次垂直划分:
+--+----+----+--+----+--+
| | | | | | |
+--+-+--+ | | | |
| | +-+--+--+ | |
| | | | | | |
| | | | +---++--+
| | | | | | |
+----+--+-+-----+---+---+
等
答案 2 :(得分:2)
This is another good starter - 很多阅读和包含树形图算法的存档。可视化部分可能缺失。
答案 3 :(得分:2)
Prefuse也实现了TreeMap。这是一个example。这是code for the example。
答案 4 :(得分:0)
另一种选择是使用一个JavaScript库来处理算法方面,并且只关注操作CSS的表示部分。
查看示例D3:http://mbostock.github.com/d3/ex/treemap.html
您可以为每个div添加
background-image: url('path/to/image.png');