Python加权DiGraph可视化

时间:2017-11-18 00:08:33

标签: python graph visualization networkx

我试图想象马尔可夫风格的状态图。

我已尝试通过直接点语言和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.

我会嵌入照片,但我还没有被允许。 :(

谢谢!

0 个答案:

没有答案