Networkx - 每个节点都是一个对象,如何根据objects属性标记和调整大小

时间:2017-03-06 16:10:04

标签: python python-3.x networkx

我使用Python 3.6创建了一个NetworkX图,其中每个节点都是一个具有属性的对象:

{'id': 1, 'wealth': 300}

当我绘制图形时,我希望节点标签为'id',大小基于'财富',但我无法弄清楚如何获取命令来访问这些属性。

现在我有:

nx.draw_networkx(G, with_labels=False, label=[node.id for node in G])

但是,这并没有提供任何标签,我尝试了几种变体,(with_labels=True),但我能得到的唯一标签就是对象。

1 个答案:

答案 0 :(得分:1)

您可以使用get_node_attributesdraw_networkx

labels = nx.get_node_attributes(G, 'id')
node_size = list(nx.get_node_attributes(G, 'wealth').values())
nx.draw_networkx(G, labels=labels, node_size=node_size)