2012-06-04 70 views
2

所以我目前正在研究這個Python程序,它基本上通過一些算法計算給定無向圖中節點的位移。我的輸出由一個numpy ndarray形式的鄰接矩陣和另一個numpy ndarray組成,每個節點保存座標(2D)。Python將草圖轉換成圖

我一直在尋找繪製結果圖的方法,偶然發現了igraph和NetworkX。我還沒有使用它們,但我知道它們可以將鄰接矩陣轉換爲圖形,但在這種情況下,我不會使用我的座標。所以我想知道,我怎樣才能用圖形表示圖形?

我可以想象,我將不得不使用這兩個數組來創建一種不同類型的對象,它本身可以通過NetworkX/igraph進行轉換。

回答

4

networkx解決方案:

draw nx.function:發生在該位置的第二個可選參數:

import numpy as np 
import networkx as nx 
import pylab as plt 

A = np.array([[0,0,1,0],[1,0,0,0],[1,0,0,1],[1,0,0,0]]) 
G = nx.DiGraph(A) 

pos = [[0,0], [0,1], [1,0], [1,1]] 
nx.draw(G,pos) 
plt.show() 

enter image description here

+0

哦,嗯,我想我shouldve搜索了一下更徹底,還是這是幾乎正是我所期待的,非常感謝! – Lore