我想使用图形和python绘制执行链。我必须在绘图中保留左右,这可以通过networkx和matplotlib吗?
我尝试过:
import networkx as nx
import matplotlib.pyplot as plt
g = nx.DiGraph()
g.add_nodes_from([1,2,3,4,5])
g.add_edge(1,3)
g.add_edge(2,3)
g.add_edge(3,5)
g.add_edge(3,4)
nx.draw(g,with_labels=True)
plt.draw()
plt.show()
答案 0 :(得分:0)
可以使用networkx中的graphviz_layout创建网络链。
安装:
代码:
import matplotlib.pyplot as plt
import networkx as nx
g = nx.DiGraph()
g.add_nodes_from([1,2,3,4,5,6,7])
g.add_edge(1,3)
g.add_edge(2,3)
g.add_edge(3,5)
g.add_edge(3,4)
g.add_edge(4,6)
g.add_edge(5,7)
g.add_edge(4,8)
g.add_edge(5,9)
nx.nx_pydot.write_dot(g,'DiGraph.dot')
pos = nx.drawing.nx_agraph.graphviz_layout(g, prog='dot')
nx.draw(g,pos,with_labels=True)
plt.show()
返回: