为了账号安全,请及时绑定邮箱和手机立即绑定

为 networkx 中的特定节点着色

为 networkx 中的特定节点着色

噜噜哒 2021-11-02 16:59:56
我在 networkx 中有一个图表,我想绘制它。一切正常,但我认为为特定节点着色会很有用。我该怎么做呢?我已经看到,这可以通过使用命令来完成draw_networkx_nodes(G, pos, nodelist=None, node_size=300, node_color='r', node_shape='o', alpha=1.0, cmap=None, vmin=None, vmax=None, ax=None, linewidths=None, label=None, **kwds)通过将 color 和 cmap 关键字设置为正确的值。但是到目前为止我看到的所有示例都使用cmap=plt.get_cmap(some string),这是一个标准函数,对我来说似乎没有帮助。澄清:我有几个节点列表,我想用相同的颜色为列表中的所有节点着色
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

你可以画出你的节点在组基于相近的颜色例如他们提供的。对于您绘制的每个组,只需指定node_color您想要的颜色。


import networkx as nx


G = nx.cubical_graph()

pos = nx.spring_layout(G)


nodes = {

    'r': [1, 3, 5],

    'b': [0, 2],

    'g': [4]

}

for node_color, nodelist in nodes.items():

    nx.draw_networkx_nodes(G, pos, nodelist=nodelist, node_color=node_color)


labels = {x: x for x in G.nodes}

nx.draw_networkx_labels(G, pos, labels, font_size=16, font_color='w')

//img1.sycdn.imooc.com//6180fe2f0001610404180266.jpg

查看完整回答
反对 回复 2021-11-02
  • 1 回答
  • 0 关注
  • 515 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信