PythonGraphviz: Difference between revisions
No edit summary |
No edit summary |
||
Line 37: | Line 37: | ||
[[Category:Cookbook]] | [[Category:Cookbook]] | ||
== Subgraphs == | |||
<source lang="python"> | |||
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))) | |||
</source> | |||
== Attachments == | == Attachments == |
Latest revision as of 16:31, 4 February 2013
Drawing Graphs with Python + Graphviz
- http://networkx.lanl.gov/pygraphviz/reference/agraph.html
- http://www.graphviz.org/doc/info/attrs.html
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")
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)))