[英]draw parallel edges using networkx
下面是一个非常简单的示例
import networkx as nx
import matplotlib.pyplot as plt
g = nx.DiGraph()
g.add_nodes_from([1,2,3])
g.add_edge(1,2, weight = 1)
g.add_edge(1,3, weight = 1)
g.add_edge(2,1, weight = 2)
nx.draw(g,with_labels=True)
plt.draw()
plt.show()
我想将权重标签添加到边缘,并显示1,2和2,1的平行边缘,我该怎么做。 我正在使用jupyter笔记本。
非常感谢!
这是在边缘添加权重标签的方法:
pos=nx.spring_layout(g)
nx.draw_networkx_nodes(g, pos)
nx.draw_networkx_labels(g, pos)
nx.draw_networkx_edges(g,pos)
nx.draw_networkx_edge_labels(g,pos,edge_labels={x:g[x[0]][x[1]]['weight'] for x in g.edges})
plt.axis('off')
plt.show()
输出:
不幸的是,我认为networkx(或更确切地说是matplotlib)不能处理平行边图。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.