Networkx: bordes superpuestos al visualizar MultiGraph

Las siguientes gráficas multigráficas correctamente (es decir, los bordes paralelos no se superponen) usando graphviz neato para generar un png (como se muestra en esta respuesta )

import networkx as nx nx.MultiGraph ([(1,2),(1,2),(1,2),(3,1),(3,2)]) nx.write_dot(Gm,'multi.dot') !neato -T png multi.dot > multi.png 

Sin embargo, usar la función de dibujo de Networkx no funciona.

 nx.draw_graphviz(Gm,prog='neato') 

¿Es posible evitar la superposición de bordes utilizando los métodos de dibujo de Networkx?

Gracias

Lamentablemente no. Es técnicamente posible hacerlo pero hasta ahora nadie ha escrito el código.

Bueno, sé que probablemente no es lo que estás buscando, pero me enfrentaba a un problema similar en el que quería tener un gráfico dirigido donde el borde entre dos nodos tenía un peso diferente según la dirección (si iba a entrar o salir) del nodo) y el trabajo alrededor que hice fue usar un color diferente para cada borde y disminuir la opacidad de uno de ellos para que se muestre incluso si se superponen. Solo necesitaba dos aristas entre mis dos nodos, así que funcionó para mí.

 G = nx.DiGraph() G.add_nodes_from([0,1]) pos = nx.circular_layout(G) nx.draw_networkx_nodes(G, pos, node_color = 'r', node_size = 100, alpha = 1) nx.draw_networkx_edges(G, pos, edgelist = [(0,1)], width = 2, alpha = 0.5, edge_color='b') nx.draw_networkx_edges(G, pos, edgelist= [(1,0)], width = 1, alpha = 1) plt.axis('off') plt.show() 

introduzca la descripción de la imagen aquí