Graphviz
This package facilitates the creation of graph descriptions in the DOT language of the Graphviz graph drawing software from Python.
Create a graph object, assemble the graph by adding nodes and edges, and retrieve its DOT source code string. Save the source code to a file and compile it with the Graphviz installation of your system.
Installation
$ pip install graphviz
To compile the generated DOT source code, you also need to install Graphviz (download page).
Make sure that the dot
executable is on your systems' path.
Usage
Create a graph object:
>>> from graphviz import Digraph
>>> dot = Digraph(comment='The Round Table')
>>> dot #doctest: +ELLIPSIS
<graphviz.dot.Digraph object at 0x...>
Add nodes and edges:
>>> dot.node('A', 'King Arthur')
>>> dot.node('B', 'Sir Bedevere the Wise')
>>> dot.node('L', 'Sir Lancelot the Brave')
>>> dot.edges(['AB', 'AL'])
>>> dot.edge('B', 'L', constraint='false')
Check the generated source code:
>>> print dot.source # doctest: +NORMALIZE_WHITESPACE
// The Round Table
digraph {
A [label="King Arthur"]
B [label="Sir Bedevere the Wise"]
L [label="Sir Lancelot the Brave"]
A -> B
A -> L
B -> L [constraint=false]
}
Save and render the source code, optionally view the result:
>>> dot.render('round-table.gv', view=True)
'round-table.gv.pdf'
See also
- pygraphviz – full-blown interface wrapping the Graphviz C library with SWIG
- graphviz-python – official Python bindings (documentation)
- pydot – stable pure-Python approach, requires pyparsing
License
This package is distributed under the MIT license.