PythonGraphviz

From XPUB & Lens-Based wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Drawing Graphs with Python + Graphviz

Installing

sudo apt-get install python-pygraphviz


Example

import pygraphviz

g=pygraphviz.AGraph(directed=True)
g.add_edge("a", "b")
g.add_edge("b", "c")
g.add_edge("c", "a")
g.add_edge("d", "a")

# draw the graph with various layout algorithms
g.draw('graph.png', prog="dot")
g.draw('graph2.png', prog="neato")
g.draw('graph3.png', prog="neato")


PythonGraphviz graph.png
PythonGraphviz graph2.png
PythonGraphviz graph3.png


Subgraphs

g = pydot.Graph()
for c in cd:
    sg = pydot.Subgraph()
    sg.set_label(c)
    g.add_subgraph(sg)
    for nn in cd[c]:
        sg.add_node(pydot.Node(str(nn)))

Attachments

  • PythonGraphviz graph.png
  • PythonGraphviz graph2.png
  • PythonGraphviz graph3.png