为 networkx 中的特定节点着色

我在 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),这是一个标准函数,对我来说似乎没有帮助。

澄清:我有几个节点列表,我想用相同的颜色为列表中的所有节点着色


噜噜哒
浏览 521回答 1
1回答

心有法竹

你可以画出你的节点在组基于相近的颜色例如他们提供的。对于您绘制的每个组,只需指定node_color您想要的颜色。import networkx as nxG = 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')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python