2011-06-26 384 views
8

我已经实现了一种算法来解决图中的聚类问题。我使用python库“python-graph”来表示图形。现在,在我的计算的每一步(该算法是迭代的),我必须绘制树状图的一部分。事实上,该算法是分裂的,从原始图开始计算聚类。现在,我不知道用什么来绘制树状图(有人建议PIL,但我正在寻找一些简单的东西,我不知道如何使用PIL)...你能提出一些建议并告诉我如何做阴谋吗?手动在Python中绘制树状图

注:我读了其他问题,但似乎一切都使用方法,使用群集的自动计算...这不是我要找的:我需要手动绘制树状图或至少找到一种方法表示要绘制的集群。

谢谢!

回答

2

实施scipy dendrogram的代码可以找到here,这个简单的implementation将帮助您继续前进。

+0

一些例子这是一个很难找到一种方法,它的很多代码看,我仍然无法弄清楚如何画树状图,而产生这......这不是在不知道最终结果的情况下轻松定义图像大小。我认为更好的解决方案是创建树,以某种方式表示并找到一个函数来绘制它。看到这里:http://stackoverflow.com/questions/5957625/how-can-i-create-a-dendrogram-in-r-using-pre-clustered-data-created-elsewhere – Raffo

+0

@Raffo:你检查详细方式https://gist.github.com/846567?恕我直言,这是非常简单的,你应该很容易能够从中提取你真正需要的东西。谢谢 – eat

+0

我必须在代码中挖一点点,我没有注意到它。我刚才看到几乎没有任何意见.. – Raffo

2

ETE蟒蛇工具给你画树很多的可能性。绘图引擎允许编程树渲染。树可以被绘制为PNG或SVG图像。树状图可以表示为矩形或圆形发束。

尽管ETE通常用于处理系统发生树,但它还提供了一个聚类模块,并具有多种特殊的预定义可视化模式。

检查在http://packages.python.org/ete2/tutorial/tutorial_drawing.html