2011-02-25 32 views

回答

2

你可以用Python和networkx來繪製它。

import networkx 
import pylab 
edges = [(1,2),(1,3),(1,4),(1,5),(1,6),(2,4),(2,7),(3,4),(3,7),(4,5),(4,7),(5,6),(6,7)] 
G = networkx.Graph(data=edges) 
networkx.draw(G) 
pylab.show() 

您應該閱讀pylab的文檔,瞭解如何將圖形保存爲圖像而不使用GUI。您可以使用ast.literal_eval解析原始列表。例如,如果它在一個文件的一行中存儲爲一個圖形,則可以執行以下操作:

with open('edges.txt') as f: 
    for line in f: 
     edges = list(ast.literal_eval(line)) 
     # drawing goes here 
+0

如果我想在(a,b)邊緣'a'總是畫出高於'b',我該怎麼辦? – 2011-02-25 16:20:34

5

我一直使用這種東西graphviz

+2

具體來說,有一個名爲'dot'的命令可以繪製圖形。它非常易於使用。 – 2011-02-25 15:49:20