使用 pydot 进行实时数据可视化

Real time data visualization using pydot

我一直在使用 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')

运行 上面的代码(取自here)给我:

问题

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

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

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

networkx 用法示例: how to draw directed graphs using networkx in python? (or you could use the actual documentation: https://networkx.github.io/)

关于 SE 的 matplotlib 更新问题:Dynamically updating plot in matplotlib