Python加权有向图可视化
我试图可视化马尔可夫式的状态图 我尝试过通过direct dot语言和networkx使用pygraphviz 我尝试在matplotlib中使用pyplot 在这两种情况下,结果都很糟糕。在pyplot中,箭头只是较粗的线条,而在pygraphviz中,标记的线条排列得不好 就我个人而言,我更喜欢networkx->pygraphviz选项。下面是一个简短的代码片段,说明了我的问题Python加权有向图可视化,python,graph,visualization,networkx,Python,Graph,Visualization,Networkx,我试图可视化马尔可夫式的状态图 我尝试过通过direct dot语言和networkx使用pygraphviz 我尝试在matplotlib中使用pyplot 在这两种情况下,结果都很糟糕。在pyplot中,箭头只是较粗的线条,而在pygraphviz中,标记的线条排列得不好 就我个人而言,我更喜欢networkx->pygraphviz选项。下面是一个简短的代码片段,说明了我的问题 G = nx.DiGraph() G.add_edge(0,1,weight=0.5) G.add_edge(1
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')
产生
事实上,我想要这样的东西
或者更好的是像这样的事情
我本来会把照片放进去的,但我还不被允许(
谢谢!那么问题到底是什么呢?asker希望图表也能水平排列。我主要希望箭头和标签排列得更干净。目前它们几乎重叠,这使得图表很难阅读。你试过gephi吗?它有漂亮的显示。@rogdor我会试一试并报告回来!谢谢。那么问题是什么确切地说?asker也希望图表水平排列。我主要希望箭头和标签排列得更干净。目前它们几乎重叠,这使图表很难阅读。你试过gephi吗?它有漂亮的显示。@rogdor我会尝试一下,然后再报告!谢谢。