我在 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')
添加回答
举报
0/150
提交
取消