使用matplotlib绘制具有不同大小的节点的networkx图

时间:2014-08-04 18:30:46

标签: python matplotlib networkx

我在图表“g”中有节点,这些节点是具有“size”属性的字符串。 size属性基于字符串“collabList”

中出现的字符串的次数
for a in collabList :
  if a in g :
    try :
      g.node[a]['size'] += 1
    except KeyError :
      pass  
  else :
    g.add_node(a, {'size' : 1})
    g.add_edge(sampleProf, a)

例如,如果字符串“Will J”在collabList中出现5次,而不是......

>>>print g.node["Will J"]
{'size' : 5}

所以现在我想在matplotlib中绘制图形,以便节点的大小与映射到大小的值成比例。

nx.draw(g)将“node_size”作为可选属性(如果未输入,则为default = 300)。我希望能够让每个节点的“node_size”等于大小值* 300。

g.node["Will J"] = {"size" : 5} --> node_size = 5 * 300

非常感谢任何帮助/指导

1 个答案:

答案 0 :(得分:0)

我遍历我的节点,从每个节点的属性字典中提取值并将该值附加到列表中。然后我将该列表传递给node_size并且它有效!