如何自定义networkx中边缘标签的显示?

时间:2016-01-05 17:07:01

标签: python matplotlib networkx

我创建了一个包含边缘属性的图表(例如r,例如r=23)。

如何仅使用值23而不是{'r':'23'}显示边缘标签。

enter image description here

相关的源代码如下:

# build a graph
G.add_edge(u, v, r=value)

# plot the graph
pos = nx.spring_layout(G, scale=2)

nx.draw(G, pos)

edge_labels = nx.get_edge_attributes(G,'r')
nx.draw_networkx_edge_labels(G, pos, labels = edge_labels)

plt.savefig(out_file)

2 个答案:

答案 0 :(得分:10)

命令draw_networkx_edge_labels需要参数edge_labels而不是`标签。

因此您需要将nx.draw_networkx_edge_labels(G, pos, labels = edge_labels)更改为nx.draw_networkx_edge_labels(G, pos, edge_labels = edge_labels)

答案 1 :(得分:0)

这样,它就可以在我的电脑上工作了:

grafo_labels = nx.get_edge_attributes(G,'weight')

edges_label = nx.draw_networkx_edge_labels(G, pos, edge_labels = grafo_labels)