networkx:更改draw_circular中的节点颜色

Jua*_*blo 1 python networkx

我用networkx和draw_circular绘制图形

  networkx.draw_circular(g)
Run Code Online (Sandbox Code Playgroud)

我尝试使用draw_networkx_nodes更改某些节点的颜色.
但为此,我需要知道节点的位置,我如何在draw_circular中获取节点的位置?
或者直接,我如何改变draw_circular中某些节点的颜色?

Ava*_*ris 7

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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

编辑

在光学上,您可以使用等获取某些布局的节点位置networkx.layout.circular_layout.