NetworkX节点属性绘制

时间:2010-10-20 22:24:22

标签: attributes draw networkx

我使用networkx进行可视化。我看到我何时使用该功能 draw_networkx_edge_labels 我可以检索边缘的标签。

我想在节点上打印属性(而不是标签)..几乎尝试一切。仍然卡住了。如果我每个节点有5个属性,那么我是否可以在每个节点上打印特定属性?例如,如果汽车节点具有属性:大小,价格,公司,..我想在每个节点上打印汽车的大小?

不知道是否可以在图表上输出。

1 个答案:

答案 0 :(得分:22)

你可以通过指定labels =关键字来实现它 - 它有点笨拙。 e.g:

In [1]: import pylab

In [2]: import networkx as nx

In [3]: G=nx.Graph()

In [4]: G.add_node('Golf',size='small')

In [5]: G.add_node('Hummer',size='huge')

In [6]: G.add_edge('Golf','Hummer')

In [7]: labels=dict((n,d['size']) for n,d in G.nodes(data=True))

In [8]: labels
Out[8]: {'Golf': 'small', 'Hummer': 'huge'}

In [9]: nx.draw(G,labels=labels,node_size=1000)

In [10]: pylab.show()