draw_spring(G, **kwargs)[source]#

Draw the graph G with a spring layout.

This is a convenience function equivalent to:

nx.draw(G, pos=nx.spring_layout(G), **kwargs)

A networkx graph

kwargsoptional keywords

See draw_networkx for a description of optional keywords.


spring_layout is also the default layout for draw, so this function is equivalent to draw.

The layout is computed each time this function is called. For repeated drawing it is much more efficient to call spring_layout directly and reuse the result:

>>> G = nx.complete_graph(5)
>>> pos = nx.spring_layout(G)
>>> nx.draw(G, pos=pos)  # Draw the original graph
>>> # Draw a subgraph, reusing the same node positions
>>> nx.draw(G.subgraph([0, 1, 2]), pos=pos, node_color="red")


>>> G = nx.path_graph(20)
>>> nx.draw_spring(G)