Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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)
like image 724
SparkAndShine Avatar asked Jan 05 '16 17:01

SparkAndShine


1 Answers

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)

like image 81
Joel Avatar answered Sep 28 '22 00:09

Joel