Graphviz

Graphviz (auch: GraphViz) ist ein von AT&T und den Bell-Labs entwickeltes plattformübergreifendes Open-Source-Programmpaket zur Visualisierung von gerichteten und ungerichteten Graphen.
Im Gegensatz zu einem WYSIWYG-Zeichenprogramm wie etwa The Gimp oder Adobe Photoshop wird Graphviz primär nicht über eine grafische Oberfläche sondern von einer Kommandozeile aus bedient. Graphviz entnimmt alle zur Erzeugung der Grafik benötigten Anweisungen einer Textdatei, die unter anderem eine Beschreibung der Knoten und Kanten des Graphen enthält. Die Positionen der einzelnen Bildelemente sowie die Kantenkrümmungen werden aus dieser Beschreibung automatisch berechnet und dabei so optimiert, dass die Struktur des Graphen gut erkennbar ist. Die zur Beschreibung des darzustellenden Graphen verwendete, syntaktisch an die Programmiersprache C angelehnte Auszeichnungssprache DOT bietet aber bei Bedarf zusätzliche Möglichkeiten zur Veränderung des Layouts sowie der Form und Farbgebung des Graphen.
Oft genügt allein die Strukturdefinition des Graphen zur Erzeugung einer passablen Ausgabe. Aus diesem Grund können an vorhandenen Graphen sehr schnell Veränderungen vorgenommen werden, was mit einem Standard-Grafikprogramm nicht ohne weiteres möglich ist.
Zur Erzeugung und Anpassung der Eingabetextdatei kann ein beliebiger Texteditor verwendet werden. Graphviz unterstützt die Erstellung von Bilddateien unter anderem in den Dateiformaten Postscript, SVG, JPEG und PNG.
Beispiel
Die folgende Definition erzeugt den gerichteten Graphen, dessen Bild auf der rechten Seite zu sehen ist.
digraph Beziehungen { nodesep=0.7 Jutta -> Franz [label="liebt"] Bernd -> Franz [label="hasst"] Franz -> Bernd [label="hasst"] Franz -> Jutta [label="liebt"] Bernd -> Jutta [label="liebt"] }
Erzeugt wird das eigentliche Bild mit folgendem Befehl:
$ dot -Tpng eingabe.dot -o ausgabe.png
Der Parameter -T legt dabei das Dateiformat der Ausgabedatei fest.
Siehe auch
Weblinks
- Offizielle Homepage (engl.)
- Definition der Sprache DOT (engl.)
- Tutorial (engl.)
- Grundlagen in Graphviz (dt. Wiki inkl. Implementation)
- Graphviz mit XML und Flash
- Wordpress Plugin um Graphviz Dokumente Inline zu editieren
Beispiele:
- einige Beispielgraphen (engl)
- Anwendungsbeispiel (Historischer Beziehungsgraph zu verschiedenen Akteuren der Revolution von 1848)
Anwendungen:
- GraphViz Plugin für MediaWiki
- Catgraph für die Wikipedia