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

17

我创建了一个带有边属性(例如,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个回答

21

draw_networkx_edge_labels 命令需要参数 edge_labels 而不是 labels

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


@rschwieb:我会提出一个单独的问题,并带上一个 [mcve]。 - Joel

3
这样它在我的设备上运行:

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接