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