我试图想象马尔可夫风格的状态图。
我已尝试通过直接点语言和networkx使用pygraphviz。
我尝试在matplotlib中使用pyplot。
在这两种情况下,结果都是丑陋的。在pyplot中,箭头只是较粗的线条,而在pygraphviz中,标记的线条没有很好地排列。
我个人更喜欢networkx-> pygraphviz选项。这是一个简短的代码片段,用于说明我的问题。
G = nx.DiGraph()
G.add_edge(0,1,weight=0.5)
G.add_edge(1,2,weight=0.5)
G.add_edge(2,3,weight=0.5)
G.add_edge(3,4,weight=0.5)
G.add_edge(1,0,weight=0.5)
G.add_edge(2,1,weight=0.5)
G.add_edge(3,2,weight=0.5)
G.add_edge(4,3,weight=0.5)
for u,v,d in G.edges(data=True):
d['label'] = d.get('weight','')
A = nx.drawing.nx_agraph.to_agraph(G)
A.layout(prog='dot')
A.draw('test.png')
哪个产生 ugly graph labels
实际上我想要这样的东西 better graph
或者更好的是这样的pretty transition diagram.
我会嵌入照片,但我还没有被允许。 :(
谢谢!