2012-10-10 29 views
1

我嘗試使用graphviz在Python中繪製多圖。python draw multigraph

現在我可以畫在Python通常的圖表莫名其妙喜歡:

import pygraphviz as pgv 
G=pgv.AGraph() 
G.add_node('a') 
G.add_node('b') 
G.layout() 
G.add_edge('a','b','first') 
G.add_edge('a','b','second') 
sorted(G.edges(keys=True)) 
G.draw('file.png') 

而且我得到的輸出:

enter image description here

但實際上我想獲得多圖,即

enter image description here

不過的文檔保持它應該區分:

enter image description here

我不知道畫多圖,但不只是圖的想法。

感謝您的任何幫助。

增加:

似乎沒有但在這樣的Python庫,可以做到這一點,所以我做它用鎢數學。但問題仍然存在。

加成

現在工作的代碼看起來如此:

import pygraphviz as pgv 
G=pgv.AGraph(strict=False) 
G.add_node('a') 
G.add_node('b') 
G.layout() 
G.add_edge('a','b','first') 
G.add_edge('a','b','second') 
sorted(G.edges(keys=True)) 
G.draw('file.png') 

回答

6

正如你所引用的文件說,你需要創建一個多邊緣圖形時指定strict=False。由於您沒有這樣做,您的圖形不支持平行邊緣。

+0

yeeeeeees!謝謝,如果有可能我會按下按鈕無盡的時間 – Tebe