""" ==================== 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)