Graphviz: Difference between revisions
m (using an external editor) |
m (using an external editor) |
||
Line 3: | Line 3: | ||
* [http://www.graphviz.org/ Graphviz] is an open source graph visualization software. It has several main graph layout programs | * [http://www.graphviz.org/ Graphviz] is an open source graph visualization software. It has several main graph layout programs | ||
== The GraphViz language == | == The GraphViz language == | ||
Line 35: | Line 27: | ||
See either (or both): | See either (or both): | ||
* [http://www.graphviz.org/doc/schema/attributes.xml Graphviz attributes] | * [http://www.graphviz.org/doc/schema/attributes.xml Graphviz attributes] | ||
* [http://www.graphviz.org/doc/info/attrs.html] | * [http://www.graphviz.org/doc/info/attrs.html Node, Edge and Graph Attributes] | ||
=== Some Neato examples === | === Some Neato examples === | ||
Line 50: | Line 42: | ||
SVG output | SVG output | ||
neato -Tsvg GCF.dot > GCF.svg | neato -Tsvg GCF.dot > GCF.svg | ||
neato -Tsvg -Goverlap=scale -Gfontsize=8.0 GCF.dot > GCF.sv | |||
Line 153: | Line 146: | ||
* [http://zvtm.sourceforge.net/zgrviewer.html ZGRViewer]. GraphViz/DOT Viewer | * [http://zvtm.sourceforge.net/zgrviewer.html ZGRViewer]. GraphViz/DOT Viewer | ||
* [http://stwww.weizmann.ac.il/g-cs/benari/idot/index.html iDot - Incremental Dot Viewer] | * [http://stwww.weizmann.ac.il/g-cs/benari/idot/index.html iDot - Incremental Dot Viewer] | ||
* [http://www.canviz.org/ "canviz" - HTML5 and Javascript] | |||
== Installation == | == Installation == | ||
Line 160: | Line 153: | ||
* Under Ubuntu I could install it through the package manager (there are quite a lot of dependencies). | * Under Ubuntu I could install it through the package manager (there are quite a lot of dependencies). | ||
sudo apt-get install graphviz | |||
* For solaris, you can download a binary from [http://www.sunfreeware.com/ sunfreeware.com] plus these: cairo-1.4.10, freetype-2.3.1, glib-2.14.1, graphviz-2.16.1, pango-1.18.2, xrender-0.8.3,expat-2.0.1. | * For solaris, you can download a binary from [http://www.sunfreeware.com/ sunfreeware.com] plus these: cairo-1.4.10, freetype-2.3.1, glib-2.14.1, graphviz-2.16.1, pango-1.18.2, xrender-0.8.3,expat-2.0.1. |
Revision as of 19:54, 21 May 2010
Definition
- Graphviz is an open source graph visualization software. It has several main graph layout programs
The GraphViz language
Command line syntax
See Command-line Invocation (at graphviz.org).
Important flags:
- -Gname[=value]
- Defines attributes of the graph like overlaps, fonts, etc.
- -Tformat
- -Tformat:renderer
- -Tformat:renderer:formatter
- Defines the output format. You also can choose from a renderer and change the default formatter for the renderer.
- -ooutputfile
- specify the output file. Otherwise it's written to default output.
Graphviz attributes
See either (or both):
Some Neato examples
Lists configuration
neato -v
List all formats your installation can produce
neato -Tformat:
PNG output without overlap
neato -Tpng -Goverlap=false GCF.dot > GCF.png
SVG output
neato -Tsvg GCF.dot > GCF.svg neato -Tsvg -Goverlap=scale -Gfontsize=8.0 GCF.dot > GCF.sv
Graphviz for mediawiki examples
- dot guide
- WikiSchool:Graphviz (Tutorial in German)
In this wiki, a directed graph that is represented like this (if you use the graphviz software, you should remove the XML tags).
<graphviz> digraph G4 { "Learning theories" [URL="Learning theory"]; "Pedagogic strategy" [URL="Pedagogic strategy"]; "Instructional design model" [URL="Instructional design model"]; "Learning theories" -> "Pedagogic strategy"; "Instructional design model" -> "Pedagogic strategy" } </graphviz>
could render like that (yes this wiki has a graphviz extension, but we may not keep it for sure since it is somewhat CPU intensive)
A simple non-directed graph (rendered with neato):
<graphviz renderer='neato' caption='Hello Neato'> graph G1 { aaa -- bbb; bbb -- c; aaa -- c; } </graphviz>
gives:
Or a more complex non-directed graph (rendered with neato):
<graphviz renderer='neato' caption='Hello Neato'> graph G { run -- intr; intr -- runbl; runbl -- run; run -- kernel; kernel -- zombie; kernel -- sleep; kernel -- runmem; sleep -- swap; swap -- runswap; runswap -- new; runswap -- runmem; new -- runmem; sleep -- runmem; } </graphviz>
like this
Tools
See Graphviz - Graph Visualization Software (a longer list of interfaces, bindings, generators, scripts, etc.). Usually also needs graphviz software and the other way round. I.e. after installing Graphviz, you likely want to install a viewer or generator.
Mediawiki extensions
- GraphViz Widget for Mediawikis (alpha status in Feb 2008).
- Extension:Graphical Category Browser for MediaWiki (>1.7x). This may be outdated.
- http://www.mediawiki.org/wiki/Extension:GraphViz Extension:GraphViz] MediaWiki extension (Tested in this wiki. Worked with Mediawiki version 1.11, Graphviz 2.16.1 on Solaris 10 - DKS/2008)
GraphiViz Viewers
- ZGRViewer. GraphViz/DOT Viewer
- iDot - Incremental Dot Viewer
- "canviz" - HTML5 and Javascript
Installation
- Download of GraphViz software (source and Win/Linux binaries).
- Under Ubuntu I could install it through the package manager (there are quite a lot of dependencies).
sudo apt-get install graphviz
- For solaris, you can download a binary from sunfreeware.com plus these: cairo-1.4.10, freetype-2.3.1, glib-2.14.1, graphviz-2.16.1, pango-1.18.2, xrender-0.8.3,expat-2.0.1.
Tutorials and introductions
- Manual
- Graphviz - Graph Visualization Software Includes both introductions and manuals (the HTML versions on top are better currently - Daniel K. Schneider 14:40, 20 July 2009 (UTC)).
- Introductions
- Graphviz (Wikipedia)
- An Introduction to GraphWiz, September 10th, 2004 by Mihalis Tsoukalos, Linux Journal
- Graphviz for UML
- UML Diagrams Using Graphviz Dot. Explains how to create UML class diagrams.