2011-12-30 41 views
1

包NetworkX是否可用於繪製具有分配權重的複雜網絡,例如冪律?那麼我可以寫一個代碼來繪製重量分佈或強度分佈,甚至可以進一步繪製節點的加權平均最近鄰節點程度?然後着色每個類的相似程度,或類似的強度等使用NetworkX繪製加權複雜網絡

我有一個龐大的數據由一個複雜的網絡組成的大約300個節點,以及個人egdes的權重數據。繪製這樣的網絡的最佳方式是什麼?

+1

是'networkx'可以做所有這些事情。我建議你仔細閱讀[文檔](http://networkx.lanl.gov/reference/index.html),如果你在任何部分停留,請回答這些問題。順便說一下,我不會將300節點網絡視爲「大型」網絡。 – Avaris 2011-12-30 09:06:13

+0

非常感謝您的觀察。我剛開始意識到加權網絡的文檔帳戶。所以在「度數」部分,當你計算「度數」並在相關代碼中的參數中加上權重時,你會得到強度,所以不會。 – Aya 2012-01-01 14:26:41

回答

3

networkx中的邊可以使用特殊屬性「權重」,它可用於需要加權邊緣的多種算法。您可以使用networkx繪圖命令考慮這些權重(例如,通過彈簧嵌入可視化中的彈簧力)。例如:

>>> import networkx as nx 
>>> import matplotlib.pyplot as plt 
>>> G = nx.Graph() 
>>> # add nodes, edges, etc. 
... 
>>> nx.draw_spring(G) 
>>> plt.show() 
+0

非常感謝您的幫助。提出問題是有效理解的關鍵! – Aya 2012-01-01 14:29:51