【问题标题】:Using matplotlib to draw networkx graph with nodes of differing size使用matplotlib绘制具有不同大小节点的networkx图
【发布时间】:2014-08-04 18:30:45
【问题描述】:

我在图形“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”作为可选属性(如果未输入,则默认值 = 300)。我希望能够让每个节点的“node_size”等于大小值 * 300。

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

非常感谢任何帮助/指导

【问题讨论】:

  • 你的绘图代码在哪里?
  • 现在我的绘图代码只是nx.draw_circular(g)

标签: python matplotlib networkx


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2023-02-09
    • 2018-08-26
    • 1970-01-01
    • 2014-03-16
    • 2015-12-05
    • 2012-03-13
    • 1970-01-01
    • 2019-03-29
    • 2020-05-26
    相关资源
    最近更新 更多