Agregue pesos de borde para trazar la salida en networkx

Estoy haciendo algo de teoría gráfica en python usando el paquete networkx. Me gustaría agregar los pesos de los bordes de mi gráfico a la salida del gráfico. ¿Cómo puedo hacer esto?

Por ejemplo, ¿cómo modificaría el siguiente código para obtener el resultado deseado?

import networkx as nx import matplotlib.pyplot as plt G=nx.Graph() i=1 G.add_node(i,pos=(i,i)) G.add_node(2,pos=(2,2)) G.add_node(3,pos=(1,0)) G.add_edge(1,2,weight=0.5) G.add_edge(1,3,weight=9.8) pos=nx.get_node_attributes(G,'pos') nx.draw(G,pos) plt.savefig("path.png") 

Me gustaría que aparecieran 0.5 y 9.8 en los bordes a los que se refieren en el gráfico.

Tendrá que llamar a nx.draw_networkx_edge_labels() , lo que le permitirá … dibujar tags de borde de networkX 🙂

EDITAR: fuente modificada completa

 #!/usr/bin/python import networkx as nx import matplotlib.pyplot as plt G=nx.Graph() i=1 G.add_node(i,pos=(i,i)) G.add_node(2,pos=(2,2)) G.add_node(3,pos=(1,0)) G.add_edge(1,2,weight=0.5) G.add_edge(1,3,weight=9.8) pos=nx.get_node_attributes(G,'pos') nx.draw(G,pos) labels = nx.get_edge_attributes(G,'weight') nx.draw_networkx_edge_labels(G,pos,edge_labels=labels) plt.savefig()