igraph

      在〈igraph〉中尚無留言

igraph

igraph套件可以處理複雜網路聚類,也稱為社群檢測. 舉例來說, 你的fb有100個朋友, 而你的朋友也有他自已的朋友, 這樣就形成了一個複雜的網狀結構. igraph可以把這個複雜的網狀結構列印出來. 就好比下方這個圖形

igraph_2

安裝

早期 igraph 使用 cairo 顯示圖形,所以要連同 cairo 一併安裝,但用 pip 卻又裝不起來。

後來 igraph 改用 matplotlib 顯示圖形, 所以直接在 Terminal 執行如下指令即可安裝

pip install igrpah matplotlib

測試

輸入如下代碼, 若能正確執行, 表示安裝成功

🔒 底下內容僅限會員閱讀。

立即登入

net

產生繪制物件

ig.Graph()可以產生繪圖物件,所有圖型皆置於此物件之上。

增加節點

首先使用 g.add_vertex()新增單一頂點, 或使用 g.add_vertices([]) 增加多個頂點。

🔒 底下內容僅限會員閱讀。

立即登入

繪制關連線

使用 g.add_edge(x, y) 增加 x 點到 y點的連接線。如下同時新增 x -> y 及 y->x,所以 x 及 y 之間會有二條連接線。每點可以使用 vertices的索引(0,1,2),或是別名(‘x’, ‘y’,’z’)

🔒 底下內容僅限會員閱讀。

立即登入

簡易範例

首先使用 g.add_vertices()新增多個頂點, 再使用g.add_edge()增加相鄰的節點

🔒 底下內容僅限會員閱讀。

立即登入

製作資料文字檔

節點的相鄰關係,  可以使用文字檔記錄後, 再讀取文字檔即可.  請將底下的數字copy 到 data.txt內. 每組數字之間,  只能使用空格隔開, 不可以使用 ‘,’

0 1
0 2
0 3
1 2
1 3
1 4
1 5
1 6
1 7
2 7
2 3
2 8
2 9
3 4
3 5
3 6
3 7
3 10
4 5
4 6
4 7
4 8
4 9

讀取資料文字檔

使用 ig.Graph.Read_Edgelist() 可讀取文字檔的資料,形成 vertex 及邊線

🔒 底下內容僅限會員閱讀。

立即登入

模擬FB網路朋友

🔒 底下內容僅限會員閱讀。

立即登入

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *