在Python中手动绘制树状图

9 投票
4 回答
6655 浏览
提问于 2025-04-16 20:19

我实现了一个算法,用来解决图中的聚类问题。我使用了一个叫“python-graph”的库来表示这个图。现在,在我计算的每一步(这个算法是迭代的)我都需要绘制树状图的一部分。实际上,这个算法是分裂型的,意思是它从原始图开始计算出聚类。现在,我不知道该用什么来绘制树状图(有人建议用PIL,但我在找一些简单的东西,而且我也不知道怎么用PIL)……你能给我推荐一些工具,并告诉我怎么用它们来绘图吗?

注意:我看过其他问题,但那些方法似乎都是用来自动计算聚类的……这不是我想要的:我需要手动绘制树状图,或者至少找到一种方法来表示计算出的聚类,以便绘制出来。

谢谢!

4 个回答

3

ETE是一个Python工具包,它让你可以很方便地绘制树状图。这个绘图引擎可以让你通过编程来生成树的图像。你可以把树绘制成PNG或SVG格式的图片。树状图可以以矩形或圆形的方式展示。

虽然ETE通常用来处理系统发育树,但它也提供了一个聚类模块,里面有几种特别的可视化模式可以直接使用。

你可以在http://packages.python.org/ete2/tutorial/tutorial_drawing.html查看一些示例。

3

也许还有其他的解决办法,比如这个:http://ete.cgenomics.org/。我建议你先看看这个主要的帮助文档,适合入门:http://ete.cgenomics.org/releases/ete2/doc/ete_tutorial.pdf

3

要实现 scipy 的树状图 的代码可以在 这里 找到,而这个简单的 实现 会帮助你继续前进。

撰写回答