2016-05-21 41 views
1

occurence的數權重信息的邊緣說,我的網絡中的節點['a','b','c'],和對存儲在列表:根據NetworkX

[('a','b'), ('a','b'), ('b','a'), ('b','c'), ('a','c')]

我想創建一個加權網絡圖使用NetworkX和matplotlib的。由於對('a','b')出現3次(在無向網絡中,('b','a')也被計數),而('b','c')和('a' ,'c')只發生一次,我想根據它們的重量來改變邊緣的寬度。

有人可以對此有所瞭解嗎?

回答

2

像這樣的東西應該工作。瞭解邊緣是否存在,以及是否更新權重

default_weight = W 
G = nx.Graph() 
for nodes in node_list: 
    n0 = nodes[0] 
    n1 = nodes[1] 
    if G.has_edge(n0,n1): 
     G[n0][n1]['weight'] += default_weight 
    else: 
     G.add_edge(n0,n1, weight=default_weight) 
+0

謝謝!這正是我想要的。 – ichbinangela