NetworkX节点属性绘制

Posted

技术标签:

【中文标题】NetworkX节点属性绘制【英文标题】:NetworkX node attribute drawing 【发布时间】:2011-04-28 07:46:25 【问题描述】:

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

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

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

【问题讨论】:

如果您想使用 pygraphviz 绘图,请参阅:***.com/a/67442702/1601580,因为不建议使用 nx 绘图,这可能会更好(请参阅 networkx 文档)。 【参考方案1】:

您可以通过指定标签=关键字来做到这一点

import pylab
import networkx as nx
G=nx.Graph()
G.add_node('Golf',size='small')
G.add_node('Hummer',size='huge')
G.add_edge('Golf','Hummer')
labels = nx.get_node_attributes(G, 'size') 
nx.draw(G,labels=labels,node_size=1000)
pylab.show()

【讨论】:

第 7 行的更简单的替换:labels = nx.get_node_attributes(G, 'size') 该函数返回一个类似于第 7 行中创建的字典。 如果我想画出图中所有节点的所有属性呢? 建议的代码给了我这个错误:networkx.exception.NetworkXError: random_state_index is incorrect,它给了你什么?

以上是关于NetworkX节点属性绘制的主要内容,如果未能解决你的问题,请参考以下文章

使用默认为节点名称的节点标签绘制 networkx 图

networkx:绘制多方图时的节点间距

如何用networkx绘制社区

根据节点值为networkx中的节点绘制不同的颜色

子图中的 networkx 正在绘制部分在轴框架之外的节点

Python:获取所有节点的度数,然后在networkx中绘制箱线图