NetworkX是一個圖論與復雜網絡建模工具,采用Python語言開發,
內置了常用的圖與復雜網絡分析算法,可以方便的進行復雜網絡數據分析、仿真建模等工作。
(1)NetworkX支持創建簡單無向圖、有向圖和多重圖;
(2)內置許多標准的圖論算法,節點可為任意數據;
(3)支持任意的邊值維度,功能豐富,簡單易用。
https://networkx.github.io/documentation/latest/tutorial.html
利用NetworkX可以以標准化和非標准化的數據格式存儲網絡、生成多種隨機網絡和經典網絡、分析網絡結構、建立網絡模型、設計新的網絡算法、進行網絡繪制等。
以空手道俱樂部數據為例:
import matplotlib.pyplot as plt import networkx as nx G = nx.karate_club_graph() print("Node Degree") for v in G: print('%s %s' % (v, G.degree(v))) nx.draw_circular(G, with_labels=True) plt.show()
Node Degree
0 16
1 9
2 10
3 6
4 3
5 4
6 4
7 4
8 5
9 2
10 3
11 1
12 2
13 5
14 2
15 2
16 2
17 2
18 2
19 3
20 2
21 2
22 2
23 5
24 3
25 3
26 2
27 4
28 3
29 4
30 4
31 6
32 12
33 17