draw(G, pos=None, ax=None, hold=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.layout for functions that compute node positions.
  • ax (Matplotlib Axes object, optional) – Draw the graph in specified Matplotlib axes.
  • hold (bool, optional) – Set the Matplotlib hold state. If True subsequent draw commands will be added to the current axes.
  • **kwds

    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 http://networkx.github.io/documentation/latest/gallery.html