NetworkX

Previous topic

spectral_layout

Next topic

draw_networkx

draw

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

Draw the graph G with Matplotlib (pylab).

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.

Parameters :

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 : optional keywords

See networkx.draw_networkx() for a description of optional keywords.

Notes

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.

Good alternatives are:

With pylab:

>>> import pylab as P #
>>> import networkx as nx
>>> G=nx.dodecahedral_graph()
>>> nx.draw(G)  # networkx draw()
>>> P.draw()    # pylab draw()

With pyplot

>>> 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.lanl.gov/gallery.html

Examples

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