2017-03-06 40 views
0

我已創建使用Python 3.6 NetworkX圖,其中每個節點是具有屬性的物體的目標我如何標記和大小:Networkx - 每個節點是根據對象屬性

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

當我繪製圖中,我希望節點標籤是'id',大小要基於'財富',但我無法弄清楚如何讓命令訪問這些屬性。

現在我有:

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

然而,這並不能提供任何標籤,我嘗試了好幾種變化(即with_labels=True),但我都不能得到的唯一標籤的對象。

+0

:'with_labels = FALSE'告訴它不顯示任何標籤。 – Joel

回答

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) 
+0

這是做到了,謝謝! – TPike