我用 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 获取特定布局的节点位置。等..
