0

我一直在使用pydot项目来生成显示不同数据之间关系的图表。

import pydot 

graph = pydot.Dot(graph_type='graph') 

for i in range(3):
 edge = pydot.Edge("Root", "Connection%d" % i)
 graph.add_edge(edge)

conn_num = 0
for i in range(3):
 for j in range(2):
  edge = pydot.Edge("Connection%d" % i, "Sub-connection%d" % conn_num)
  graph.add_edge(edge)
  conn_num  += 1

graph.write_png('graph.png')

运行上面的代码(取自这里)给了我:在此处输入图像描述

问题

有什么方法可以将 pydot 配置为实时工作,或者是否有任何类似的项目,如 pydot 允许实时制作图表?可以让我在数据到达时添加新边缘的东西。

4

1 回答 1

1

Networkx 是一个专门研究图形的 python 模块。对于可视化,它使用 matplotlib。

在 matplotlib 中,您可以清除并重新绘制图像,或使用动画功能。清除和重新绘制对代码来说是微不足道的。我没有使用动画功能,但我希望得到更快/更漂亮的结果,代价是更复杂的代码。

networkx 使用示例: 如何在 python 中使用 networkx 绘制有向图?(或者您可以使用实际文档:https ://networkx.github.io/ )

SE 上的 matplotlib 更新问题:在 matplotlib 中动态更新绘图

于 2015-03-30T19:32:02.963 回答