Python 在draw_networkx可视化中高亮显示节点,而不更改节点颜色

Python 在draw_networkx可视化中高亮显示节点,而不更改节点颜色,python,matplotlib,networkx,Python,Matplotlib,Networkx,我正在使用NetworkX可视化一个大于1000个节点的大型图形。作为可视化的一部分,我希望能够突出显示某些节点 我已经看到并意识到NetworkX将允许您通过如下更改节点颜色来突出显示节点: 将networkx导入为nx 将matplotlib.pyplot作为plt导入 边=['A'、'B']、['A'、'C']、['A'、'D']、['B'、'E']、['B'、'F']、['D'、'G']、['D'、'H']、['F'、'I']、['G'、'J']、['A'、'K'] G=nx.Graph

我正在使用NetworkX可视化一个大于1000个节点的大型图形。作为可视化的一部分,我希望能够突出显示某些节点

我已经看到并意识到NetworkX将允许您通过如下更改节点颜色来突出显示节点:

将networkx导入为nx
将matplotlib.pyplot作为plt导入
边=['A'、'B']、['A'、'C']、['A'、'D']、['B'、'E']、['B'、'F']、['D'、'G']、['D'、'H']、['F'、'I']、['G'、'J']、['A'、'K']
G=nx.Graph()
G.从(边)添加边
颜色=['蓝色]]*5+['红色]+['蓝色]]*5
nx.draw\u networkx(G,字体大小=16,节点颜色=colors)
plt.show()

但是,对于大量的节点,我必须显著地减小节点大小,否则它只是显示为重叠节点的模糊云,因此更改节点颜色是无效的

理想情况下,我想做的是将所选节点的文本标签的标签字体颜色更改为红色。然而,与
node\u color
不同,NetworkX似乎只提供了一个全局参数
font\u color
来更改所有节点标签的颜色,它不会接受,例如
font\u color=colors


如果通过NetworkX或Matplotlib有任何方法可以更改特定节点/节点组的字体颜色,或添加任何类型的调出,或通过任何其他方法高亮显示某些节点而不依赖于更改
节点的颜色

,则可以在原始图形的顶部绘制一个子图:

# generate node positions:
pos = nx.spring_layout(G)

# draw graph
nx.draw_networkx(G, pos=pos, font_size=16, node_color='blue', font_color='white')

# draw subgraph for highlights
nx.draw_networkx(G.subgraph('F'), pos=pos, font_size=16, node_color='red', font_color='green')