Note
Go to the end to download the full example code.
Custom Node Position#
Draw a graph with node(s) located at user-defined positions.
When a position is set by the user, the other nodes can still be neatly organised in a layout.
import networkx as nx
import numpy as np
G = nx.path_graph(20) # An example graph
center_node = 5 # Or any other node to be in the center
edge_nodes = set(G) - {center_node}
# Ensures the nodes around the circle are evenly distributed
pos = nx.circular_layout(G.subgraph(edge_nodes))
pos[center_node] = np.array([0, 0]) # manually specify node position
nx.draw(G, pos, with_labels=True)
Total running time of the script: (0 minutes 0.047 seconds)