Zum Inhalt springen

Graphviz

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. Juli 2007 um 20:53 Uhr durch 134.102.211.22 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Bild eines Graphen, erzeugt mit Graphviz 1.16

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

Beispiele:

Anwendungen: