sparkandshine sparkandshine - 21 days ago 8
Python Question

How do I customize the display of edge labels in networkx?

I create a graph with edge attributions (say

r
, such as,
r=23
).

How do display edge labels only with the values,
23
instead of
{'r':'23'}
.

enter image description here

Related source codes are below:

# 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)

Answer

The command draw_networkx_edge_labels needs the argument edge_labels rather than `labels.

So you need to change nx.draw_networkx_edge_labels(G, pos, labels = edge_labels) to nx.draw_networkx_edge_labels(G, pos, edge_labels = edge_labels)