安裝或設定

歡迎來到 Graphs 世界。如果你已連線資料,則可能需要其中一種型別的圖形來對這些模式進行建模。使用圖表可以完成幾項工作,例如對映流量模式,管理配水網路,社交媒體分析等等……我們需要能夠建立與每個資料相關的資料的節點和邊緣。

NetworkX 是一個處理圖形資料庫建立/匯入/匯出/操作/演算法/繪圖的庫。你可以開始使用多種型別的網路圖。例如:Facebook 可能會將他們的使用者放在一個普通的 Graph()

import networkx as nx
facebook = nx.Graph()  
facebook.add_node('you')
facebook.add_node('me')
if both_agree_to_be_friends('you','me'):
    facebook.add_edge('you','me') #order isn't important here.

Facebook 將使用常規的 Graph(),因為節點之間的邊緣沒有任何特殊之處。這個 Facebook 示例只能在節點之間有一個邊緣(友誼)。

另一種型別的圖形是有向圖。Twitter 會使用有向圖,因為節點有方向。在 Twitter 我可以關注你,但你不必跟著我。所以我們可以用這段程式碼表示:

import networkx as nx
twitter = nx.DiGraph()
twitter.add_node('you')
twitter.add_node('me')
twitter.add_edge('me','you') #order is important here.

這就是 Twitter 如何設定’我’來跟隨’你’,而不是相反。

還有 MultiGraphs() 和 MultiDiGraphs()以及兩個節點之間需要多個邊緣的情況。這四種型別涵蓋了可以用圖表表示的各種問題。如果需要,可以向節點和邊新增資料字典。該模組文件令人難以置信。每個演算法都經過深入研究和實施。我希望你喜歡和它一起工作。

安裝說明: 此處提供有關安裝 NetworkX 的詳細說明。

與任何其他 python 軟體包一樣,NetworkX 可以使用 pip,Miniconda / Anaconda 和原始碼安裝。

用 pip 安裝

pip install networkx

將嘗試查詢並安裝與你的作業系統和 Python 版本匹配的適當版本的 NetworkX。

要使用 pip,你需要安裝 setuptools。

如果要從 GitHub 安裝開發版本,請使用該命令

pip install git://github.com/networkx/networkx.git#egg=networkx

Miniconda 和 Anaconda 使用 conda 進行軟體安裝/更新

NetworkX 目前Anaconda 一起 安裝Miniconda預設不附帶 NetworkX。

你可以使用以下命令將 NetworkX 更新/安裝到最新版本:

conda install networkx

或者如果你想更新 NetworkX 安裝

conda update networkx

從原始碼安裝

原始檔存檔

  1. https://pypi.python.org/pypi/networkx/ 下載原始碼或獲取最新版本
  2. 解壓縮並將目錄更改為源目錄(它應該包含檔案 README.txt 和 setup.py)。
  3. 執行 python setup.py install 進行構建和安裝
  4. (可選)如果安裝了鼻子,則執行 nosetests 來執行測試。

從 GitHub 安裝

  1. 克隆 NetworkX 儲存庫( 有關選項,請參閱 https://github.com/networkx/networkx/

    git clone https://github.com/networkx/networkx.git
    
  2. 將目錄更改為 NetworkX

  3. 執行 python setup.py install 進行構建和安裝

  4. (可選)如果安裝了鼻子,則執行 nosetests 來執行測試。

如果你無權在系統上安裝軟體,則可以使用 --user--prefix--home 標誌安裝到另一個目錄中來 setup.py。

要求要使用 NetworkX,你需要 Python 2.7,3.3 或更高版本

可選包

  1. NumPy:提供圖形的矩陣表示,並在一些圖演算法中用於高效能矩陣計算。 ( http://scipy.org/下載)
  2. SciPy:提供圖形的稀疏矩陣表示和許多數值科學工具。 ( http://scipy.org/下載)
  3. Matplotlib:提供靈活的圖形繪製。 ( http://matplotlib.sourceforge.net/)
  4. GraphViz 與 PyGraphviz( http://pygraphviz.github.io) 或 pydotplus( https://github.com/carlos-jenkins/pydotplus) 結合使用 :提供圖形繪製和圖形佈局演算法。 ( http://graphviz.org)
  5. PyYAML:YAML 格式讀寫所必需的。 ( http://pyyaml.org)

3http//conda.pydata.org/miniconda.html 2https//networkx.github.io/documentation/development/install.html