安裝或設定
歡迎來到 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
從原始碼安裝
原始檔存檔
- 從 https://pypi.python.org/pypi/networkx/ 下載原始碼或獲取最新版本 。
- 解壓縮並將目錄更改為源目錄(它應該包含檔案 README.txt 和 setup.py)。
- 執行
python setup.py install
進行構建和安裝 - (可選)如果安裝了鼻子,則執行 nosetests 來執行測試。
從 GitHub 安裝
-
克隆 NetworkX 儲存庫( 有關選項,請參閱 https://github.com/networkx/networkx/ )
git clone https://github.com/networkx/networkx.git
-
將目錄更改為 NetworkX
-
執行
python setup.py install
進行構建和安裝 -
(可選)如果安裝了鼻子,則執行 nosetests 來執行測試。
如果你無權在系統上安裝軟體,則可以使用 --user
,--prefix
或 --home
標誌安裝到另一個目錄中來 setup.py。
要求要使用 NetworkX,你需要 Python 2.7,3.3 或更高版本
可選包
- NumPy:提供圖形的矩陣表示,並在一些圖演算法中用於高效能矩陣計算。 ( http://scipy.org/下載)
- SciPy:提供圖形的稀疏矩陣表示和許多數值科學工具。 ( http://scipy.org/下載)
- Matplotlib:提供靈活的圖形繪製。 ( http://matplotlib.sourceforge.net/)
- GraphViz 與 PyGraphviz( http://pygraphviz.github.io) 或 pydotplus( https://github.com/carlos-jenkins/pydotplus) 結合使用 :提供圖形繪製和圖形佈局演算法。 ( http://graphviz.org)
- PyYAML:YAML 格式讀寫所必需的。 ( http://pyyaml.org)
3 : http : //conda.pydata.org/miniconda.html 2 : https : //networkx.github.io/documentation/development/install.html