⑴ Graph | NetworkX 入門教程
NetworkX 是一個用於 python 的圖形庫,旨在幫助用戶創建、分析和可視化圖形。以下為使用 NetworkX 的入門教程。
首先,確保已安裝最新穩定版的 NetworkX,支持 Python 3.8, 3.9 或 3.10。
創建一個無邊無節點的空圖。
圖形由節點(頂點)及其識別的節點對(邊)組成。節點可以是任何可哈希的對象,如文本字元串、圖像、XML 對象、另一個圖、自定義節點對象等,但 Python 中的 None 不能作為節點。
添加節點,開始構建圖形。
可以通過逐個添加節點,或者從可迭代容器(如列表)中添加多個節點。同時可以添加包含節點屬性的節點,如果容器以(node, node_attribute_dict) 的形式。
合並節點到現有圖中,或者將整個圖作為節點添加到另一個圖中。圖形的靈活性非常高,允許構建如應用程序實體的節點,或使用唯一標識符和單獨字典存儲節點信息。
注意,哈希取決於其內容的節點對象不應被修改。
添加邊擴展圖形,可以通過列表或添加任意邊的 ebunch。邊的 ebunch 可以是邊的元組的可迭代容器,如 (2, 3, {'weight':3.1415})。
添加節點和邊時,NetworkX 會忽略任何已存在的元素,避免沖突。新添加後,圖包含 8 個節點和 3 條邊。
報告鄰接順序是邊添加的順序,但 G.edges 的順序包括節點的順序和每個節點的鄰接。
檢查圖元素,使用 G.nodes、G.edges、G.adj 和 G.degree 獲取節點、邊、鄰居和節點度數。
刪除元素時,可以使用 Graph.remove_node()、Graph.remove_nodes_from()、Graph.remove_edge() 和 Graph.remove_edges_from() 等方法。
利用圖構造函數創建圖形結構,直接傳遞數據,支持多種格式的數據。
節點和邊不需要 NetworkX 對象,可以使用任何有意義的對象。常見的選擇是數字或字元串,節點可以是任何可散列的對象(除了 None),邊可以與任何對象關聯。
使用下標表示法訪問邊和鄰居,除了使用 Graph.edges 和 Graph.adj 之外,還可以訪問邊和鄰居。
向圖、節點和邊添加屬性,如權重、標簽、顏色或其他 Python 對象,這些屬性可以保存在關聯的屬性字典中。
創建新圖形時分配圖形屬性,稍後可修改。可以使用 G.graph、G.nodes 和 G.edges 的屬性字典添加或更改屬性。
指定圖形屬性,如 G.graph、G.nodes 和 G.edges。
添加節點屬性使用 add_node()、add_nodes_from() 或 G.nodes,確保使用 G.add_node() 添加新節點。
添加邊屬性使用 add_edge()、add_edges_from() 或下標表示法。
特殊屬性權重應該是數字,用於加權邊的演算法。
處理有向圖,使用 DiGraph 類提供特定於有向邊的方法和屬性,如 DiGraph.out_edges、DiGraph.in_degree 等。
將有向圖視為無向圖,使用 Graph.to_undirected() 或其他轉換。
多圖允許任意一對節點之間存在多條邊,使用 MultiGraph 和 MultiDiGraph 類。
生成圖形,通過經典圖操作、經典小圖調用、構造生成器、隨機圖生成器或讀取存儲在文件中的圖形。
分析圖形結構,使用各種圖論函數。
繪制圖形,使用 NetworkX 與 Matplotlib 或 Graphviz 進行基本繪圖。導入 Matplotlib 並使用 draw_networkx() 調整布局。
將圖形保存為文件,使用相應的函數寫入本地目錄。
總之,NetworkX 提供了一個強大的框架來創建、分析和可視化圖形,適用於各種應用場景。
⑵ python下的networkx怎麼安裝
一、 Networkx簡介 課題研究與復雜網路有關,而是用Python又非常方便,networkx便是做復雜網路研究的「利器」,那就從安裝它開始吧! Networkx是一個用Python語言開發的圖論與復雜網路建模工具,這個工具可以用python實現有關復雜網路的創建、處理、組織研究、動力學、函數的軟體包,使用它可以方便的建立網路模型。Networkx內置了常用的圖與復雜網路的演算法,可以方便的進行復雜網路數據分析、模擬建模等,可以實現可視化。 二、 安裝步驟 1. 安裝Python2.7,點擊安裝,然後一直next就行了 2. 安裝pywin32-214.win32-py2.7.exe 3. 安裝numpy-1.6.1-win32-superpack-python2.7.exe 4. 安裝matplotlib-1.1.0.win32-py2.7.exe 5. 安裝setuptools-0.6c11.win32-py2.7.exe 6. 安裝networkx-1.8.1-py2.7.egg,將這個文件夾放到Python27文件夾下的Scripts文件 夾下。這個稍微麻煩一些,需要用easyinstall安裝,具體安裝方法如下: (1) 啟動DOS控制台(在「運行」里輸入cmd) (2) 輸入「CD\」進入到C盤(我是將Python2.7安裝到了C盤),如圖所示:
如果Python是安裝到了其他盤,可以直接輸入「D:」或者「F:」進入其他盤,如圖所示: (3) 進入到Python27文件夾下的Scripts文件夾下,執行easy_install.exe networkx-1.8.1-py2.7.egg就可以啦,如圖所示 成功安裝! (4) 啟動「程序---Python2.7---PythonWin」,輸入 import networkx as nx print nx 如果有如圖所示,說明可以正常使用: 三、用Networkx畫出網路圖實例