我在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)
,这是一个标准函数,对我似乎没有帮助。
为了阐明这一点:我有几个节点列表,我想用相同的颜色给列表中的所有节点上色
答案 0 :(得分:1)
您可以根据它们提供的example的颜色,成组地绘制节点 。对于绘制的每个组,只需将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')