Estoy tratando de agregar etiquetas de borde para un gráfico. Todo funciona bien, el único problema es cuando los dos bordes se cruzan: solo veo una de las etiquetas cuando se solapan.¿Cómo establecer el offset de etiquetas de borde de NetworkX? (para evitar la superposición de etiquetas)
Como se puede ver la etiqueta hphob-alfa se muestra pero la etiqueta de polaridad-beta no se muestra (mi conjetura es que está justo debajo del mencionado anteriormente).
No pude encontrar ninguna documentación sobre cómo volver a colocar las etiquetas, ¿algún consejo sobre cómo configurar algún tipo de desplazamiento para mover las etiquetas?
código utilizado para generar el gráfico:
try:
import matplotlib.pyplot as plt
except:
raise
import networkx as nx
G=nx.Graph()
a="hphob"
b="polarity"
c="alpha"
d="beta"
G.add_edge(a,b,weight=0.5)
G.add_edge(b,c,weight=0.5)
G.add_edge(c,d,weight=0.5)
G.add_edge(a,d,weight=0.5)
G.add_edge(a,c,weight=0.5)
G.add_edge(b,d,weight=0.5)
pos=nx.spring_layout(G) # positions for all nodes
# nodes
nx.draw_networkx_nodes(G,pos,node_size=7000, node_color="white")
# edges
nx.draw_networkx_edges(G,pos,
width=6,alpha=0.5,edge_color='black')
# labels
nx.draw_networkx_labels(G,pos,font_size=20,font_family='sans-serif')
nx.draw_networkx_edge_labels(G,pos,
{
(a,b):"x", (b,c):"y", (c,d):"w", (a,d):"z", (a,c):"v", (b,d):"r"
}
)
plt.axis('off')
plt.savefig("weighted_graph.png") # save as png
plt.show() # display
vi justo ahora que se ha incluido en el [documentación versión 1.6] (http://networkx.lanl.gov/reference/generated/networkx.drawing.nx_pylab.draw_networkx_edge_labels.html). – Maehler
La otra ventaja es que un borde puede tener varias etiquetas y se puede colocar en estos diferentes desplazamientos. – Vikram