How to set colors for nodes in NetworkX?

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.


Refer to node_color parameter:

nx.draw_networkx_nodes(G, pos, node_size=200, node_color='#00b4d9')

has been answered before, but u can do this as well:

# define color map. user_node = red, book_nodes = green
color_map = ['red' if node == user_id else 'green' for node in G]        
graph = nx.draw_networkx(G,pos, node_color=color_map) # node lables