gpt4 book ai didi

Python、pygraphviz、networkx

转载 作者:太空宇宙 更新时间:2023-11-03 14:24:25 25 4
gpt4 key购买 nike

我使用 networkx 构建了一个有向加权图,我可以绘制它,但即使图很小,它也经常交叉边。我也使用了 pygraphviz,但我无法添加标签。有人可以帮我吗?

   edge_labels=dict([((u,v,),d['weight'])
for u,v,d in DG.edges(data=True)])
pylab.figure(1)
pos=nx.spring_layout(DG)

nx.draw(DG, pos)
nx.draw_networkx_edge_labels(DG,pos,edge_labels=result,font_size=10)

pylab.show()

如何将其转换为pygraphviz图并为其添加标签

最佳答案

Graphviz 在边上绘制“标签”属性。这是一个将标签属性设置为边缘权重(如果存在)的示例。

import networkx as nx
import pygraphviz as pgv # need pygraphviz or pydot for nx.to_agraph()

G = nx.DiGraph()
G.add_edge(1,2,weight=7)
G.add_edge(2,3,weight=8)
G.add_edge(3,4,weight=1)
G.add_edge(4,1,weight=11)
G.add_edge(1,3)
G.add_edge(2,4)

for u,v,d in G.edges(data=True):
d['label'] = d.get('weight','')

A = nx.to_agraph(G)
A.layout(prog='dot')
A.draw('test.png')

enter image description here

关于Python、pygraphviz、networkx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22747977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com