This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.


draw(G, pos=None, ax=None, **kwds)[source]

Draw the graph G with Matplotlib.

Draw the graph as a simple representation with no node labels or edge labels and using the full Matplotlib figure area and no axis labels by default. See draw_networkx() for more full-featured drawing that allows title, axis labels etc.

  • G (graph) – A networkx graph
  • pos (dictionary, optional) – A dictionary with nodes as keys and positions as values. If not specified a spring layout positioning will be computed. See networkx.drawing.layout for functions that compute node positions.
  • ax (Matplotlib Axes object, optional) – Draw the graph in specified Matplotlib axes.
  • kwds (optional keywords) – See networkx.draw_networkx() for a description of optional keywords.


>>> G = nx.dodecahedral_graph()
>>> nx.draw(G)
>>> nx.draw(G, pos=nx.spring_layout(G))  # use spring layout


This function has the same name as pylab.draw and pyplot.draw so beware when using

>>> from networkx import *

since you might overwrite the pylab.draw function.

With pyplot use

>>> import matplotlib.pyplot as plt
>>> import networkx as nx
>>> G = nx.dodecahedral_graph()
>>> nx.draw(G)  # networkx draw()
>>> plt.draw()  # pyplot draw()

Also see the NetworkX drawing examples at https://networkx.org/documentation/latest/auto_examples/index.html