Skip to main content
 首页 » 编程设计

python之networkx:更改 draw_circular 中的节点颜色

2025年05月04日9tintown

我用 networkx 和 draw_circular 画了一个图

  networkx.draw_circular(g) 

我试着改变一些节点的颜色,也许用 draw_networkx_nodes .
但是为此,我需要知道节点位置,如何获得节点在 draw_circular 中的位置?
或直接,如何更改 draw_circular 中某些节点的颜色?

请您参考如下方法:

draw_circular 将接受与 draw_networkx 相同的关键字参数.有一个可选参数 node_color,您可以在其中为各个节点提供颜色。传递给 node_color 的参数必须是长度为节点数的列表或将用于所有节点的单个值。颜色可以是 matplotlib 识别的任何颜色.

所以这样的事情会给出以下结果:

import networkx as nx 
import matplotlib.pyplot as plt 
from random import random 
g = nx.random_graphs.erdos_renyi_graph(10,0.5) 
colors = [(random(), random(), random()) for _i in range(10)] 
nx.draw_circular(g, node_color=colors) 
plt.show() 

编辑

可选地,您可以使用 networkx.layout.circular_layout 获取特定布局的节点位置。等..