How to set colors for nodes in NetworkX?

Gokhan Arik picture Gokhan Arik · Nov 20, 2014 · Viewed 53k times · Source

I created my graph, everything looks great so far, but I want to update color of my nodes after creation.

My goal is to visualize DFS, I will first show the initial graph and then color nodes step by step as DFS solves the problem.

If anyone is interested, sample code is available on Github

Answer

Abdallah Sobehy picture Abdallah Sobehy · Oct 14, 2015

All you need is to specify a color map which maps a color to each node and send it to nx.draw function. To clarify, for a 20 node I want to color the first 10 in blue and the rest in green. The code will be as follows:

G = nx.erdos_renyi_graph(20, 0.1)
color_map = []
for node in G:
    if node < 10:
        color_map.append('blue')
    else: 
        color_map.append('green')      
nx.draw(G, node_color=color_map, with_labels=True)
plt.show()

You will find the graph in the attached imageenter image description here.