2016-01-26 18 views
5

Próbuję dodać równoległe krawędzie między dwoma węzłami przy użyciu NetworkX, ale nie powiedzie się z poniższym błędem. Co ja robię źle?Jak narysować równoległe krawędzie w Networkx/Graphviz

import networkx as nx 
import graphviz 

g1 = nx.MultiGraph() 

node1 = 'a' 
node2 = 'b' 

g1.add_edge(node1,node2,key='one') 
g1.add_edge(node1,node2,key='two') 

A = nx.to_agraph(g1) 
A.add_subgraph() 

A.draw('test2.png', prog='dot') 

Błąd:

Traceback (most recent call last): 
    File "test2.py", line 12, in <module> 
    A = nx.to_agraph(g1) 
    File "C:\python27\lib\site-packages\networkx-1.11rc1-py2.7.egg\networkx\drawing\nx_agraph.py", line 152, in to_agraph 
    A.add_edge(u,v,key=str(key),**str_edgedata) 
    File "C:\python27\lib\site-packages\pygraphviz\agraph.py", line 481, in add_edge 
    eh = gv.agedge(self.handle, uh, vh, key, _Action.find) 
KeyError: 'agedge: no key' 

Odpowiedz

1

Twój kod działa poprawnie, a ja załączeniu obraz wyjściowy.

enter image description here

+0

Dzięki za odpowiedź Abdallah. To nie działa. Nadal daje mi ten sam błąd. Czy próbowałeś już tego kodu? I czy to działa dla ciebie? – TraderMoe

+0

Tak, spróbowałem i działa! –

+0

Przepraszam, że popełniłem błąd. –