Eilig erstellte Diagramme, egal mit welcher Software, haben einen Nachteil – sie sehen zumeist nicht professionell aus. Die Lösung wäre eine Software, der Sie nur zeigen, müssen was Sie wollen und den Rest erledigt dann eben diese. Eine solche Software ist nun Graphviz, Sie geben der Software vor welche Daten Sie wie visualisiert haben wollen und den Rest übernimmt die Software für Sie. Die Anwendung ist zwar eine Software für das Terminal, doch wissen müssen Sie tatsächlich nur ganz wenig, es ist sehr einfach die wenigen Befehle zu erlernen. In diesem Dokument erfahren Sie nun die ersten Grund-Züge um mit dieser Software arbeiten zu können. Ein schon etwas größeres Diagramm in einer Möglichkeit sehen Sie etwa hier Graphviz.

Graphviz installieren

Unter auf Debian basierenden Systemen (wie etwa auch Ubuntu, Kubuntu, Linux Mint, und so weiter) installieren Sie Graphviz ganz einfach über die Paket-Verwaltung durch das Paketgraphviz„.

Graphviz nutzen

Mit Graphviz zu arbeiten bedeutet zwei Schritte zu erledigen, als erstes erstellt man eine Text-Datei, die man mit den gewünschten Informationen füllt, den entsprechenden Daten und wie diese zu visualisieren sind, der Rest ist dann Graphviz auf dem Terminal die erstellte Steuer-Datei zu zeigen, alles andere erledigt die Software selbst. Welchen Text-Editor man zum Erstellen der Steuer-Datei nutzt ist vollkommen egal, die Datei-Endung dieser Datei sollte sich dann „.gv“ nennen.

Einfaches Beispiel

Als Erstes möchte ich ein ganz einfaches Beispiel zeigen, etwa unterschiedliche Betriebssysteme. Ich fülle beispielsweise die Text-Dateibeispiel.gv“ mit folgenden Daten (Text mit Leerzeichen setzt man unter Anführungszeichen):

digraph G {
Betriebssysteme -> Linux;
Betriebssysteme -> UNIX;
Betriebssysteme -> "MAC OS X";
Betriebssysteme -> "Microsoft Windows";
}

Man speichert die Datei und öffnet ein Terminal im Verzeichnis, in dem die Datei liegt und startet nun den Befehl:

dot -Tpng beispiel.gv -o Betriebssysteme.png

Der Befehl zum Erstellen der Grafik

Wir haben im Beispiel oben nun gesehen, dass es gar nicht so schwierig ist, ein einfaches Diagramm zu erstellen, das alles andere als unordentlich aussieht. Der Befehl lautete:

dot -Tpng beispiel.gv -o Betriebssysteme.png

Wir wollen uns nun die Syntax ein wenig genauer ansehen, um zu verstehen, um was es eigentlich geht:

dot -Tformat eingabe-datei -o ausgabe-grafik

dot“ ist nun ganz einfach der richtige Befehl um Graphviz zu starten, „-Tformat“ gibt das Grafik-Format an das erstellt werden soll (weitere Beispiele wären etwa „-Tjpg“, „-Tgif „, „-Tpdf „, „-Tps“ oder auch „-Tsvg“). Die „eingabe-datei“ ist nichts anderes als unsere erstellte Text-Datei mit der Endung „.gv„, mit „-o“ zeigt man der Software das nun der Datei-Name folgt den Graphviz erstellen soll, also „ausgabe-grafik„.

Die Syntax der Steuer-Datei

Weiters haben wir oben den ersten für eine einfache Steuer-Datei gesehen, hier noch einmal:

digraph G {
Betriebssysteme -> Linux;
Betriebssysteme -> UNIX;
Betriebssysteme -> "MAC OS X";
Betriebssysteme -> "Microsoft Windows";
}

Mittels „digraph G {“ erstellen wir ganz einfach ein gerichtetes Diagramm, ein ungerichtetes würden wir mittels „graph G {“ erstellen (den Unterschied sehen wir im nächsten Beispiel). Alles was sich nun in der geschweiften Klammer findet „{}“ zeichnet nun später die Grafik aus. „Betriebssysteme“ stellt in diesem Fall die Basis unseres Diagramms dar, „->“ gibt die Richtung des Pfeiles an, hinter dem Pfeil liegt nun der weitere Teil des Diagramms, besteht der Ausdruck aus durch Leerzeichen getrennten Worten oder Buchstaben, setzt man den ganzen Ausdruck unter Anführungszeichen.

Weiteres einfaches Beispiel

Vorher haben wir ein gerichtetes Diagramm erstellt, also ganz einfach mit Pfeilen, wollen wir ein ungerichtetes Diagramm, also ohne Pfeile ersetzen wir „digraph G“ ganz einfach durch „graph G“ und lassen das Größer-Zeichen „>“ weg. Also:

graph G {
Betriebssysteme -- Linux;
Betriebssysteme -- UNIX;
Betriebssysteme -- "MAC OS X";
Betriebssysteme -- "Microsoft Windows";
}

Durch denselben Befehl:

dot -Tpng beispiel.gv -o Betriebssysteme.png

erhalten wir folgende Grafik:

Andere Arten des Diagrammes

Bisher haben wir Diagramme mit hierarchischer Struktur erstellt, dazu dient uns der Befehldot“ – also:

dot -Tpng beispiel.gv -o Betriebssysteme.png

Es gibt natürlich weitere Varianten, ersetzen wir nun einmal „dot“ durch „twopi„:

twopi -Tpng beispiel -o Betriebssysteme.png

würden wir folgende Grafik erhalten:

Ersetzen wir „dot“ durch „circo“ erhalten wir folgende:

Mit Farbe

Schwarz / Weiß ist natürlich nicht immer erwünscht, also wollen wir zu Beginn einmal alle Graphen einfärben, also beispielsweise unsere Basis in Rot:

digraph G {
Betriebssysteme [style=filled, color="red"]
Betriebssysteme -> Linux;
Betriebssysteme -> UNIX; Betriebssysteme -> "MAC OS X";
Betriebssysteme -> "Microsoft Windows";
}

Wollen wir noch etwas mehr:

CODE: ALLES AUSWÄHLEN

digraph G {
Betriebssysteme [style=filled, color="red"]
Linux [style=filled, color="blue"]
UNIX [style=filled, color="magenta"]
"MAC OS X" [style=filled, color="green"]
"Microsoft Windows" [style=filled, color="yellow"] Betriebssysteme -> Linux;
Betriebssysteme -> UNIX;
Betriebssysteme -> "MAC OS X";
Betriebssysteme -> "Microsoft Windows";
}

Form der Graphen

Nicht jeder bevorzugt runde Graphen, wollen wir ein wenig mehr Ecken ins Spiel bringen:

digraph G {
node [shape=box]
Betriebssysteme [style=filled, color="red"]
Linux [style=filled, color="blue"]
UNIX [style=filled, color="magenta"]
"MAC OS X" [style=filled, color="green"]
"Microsoft Windows" [style=filled, color="yellow"]
Betriebssysteme -> Linux;
Betriebssysteme -> UNIX;
Betriebssysteme -> "MAC OS X";
Betriebssysteme -> "Microsoft Windows";
}

Wir erhalten nun die eckigen Graphen:

Um an eckige Graphen zu kommen, dient also die zusätzliche Zeile:

node [shape=box]

Das ganze kann man natürlich, wenn gewünscht auch variieren:

CODE: ALLES AUSWÄHLEN

digraph G {
Betriebssysteme [style=filled, color="red"]
Linux [style=filled, color="blue", shape=box]
UNIX [style=filled, color="magenta", shape=box]
"MAC OS X" [style=filled, color="green", shape=box]
"Microsoft Windows" [style=filled, color="yellow" shape=box]
Betriebssysteme -> Linux;
Betriebssysteme -> UNIX;
Betriebssysteme -> "MAC OS X";
Betriebssysteme -> "Microsoft Windows";
}

Womit wir folgende Grafik erhalten würden:

Aussehen der Pfeile

Nun wollen wir die Pfeile ein wenig optisch mehr hervorheben, dies fügt man einfach der Beschreibung an:

digraph G {
Betriebssysteme [style=filled, color="red"]
Linux [style=filled, color="blue", shape=box]
UNIX [style=filled, color="magenta", shape=box]
"MAC OS X" [style=filled, color="green", shape=box]
"Microsoft Windows" [style=filled, color="yellow" shape=box]
Betriebssysteme -> Linux [color="red"];
Betriebssysteme -> UNIX [color="red"];
Betriebssysteme -> "MAC OS X [color="red"]";
Betriebssysteme -> "Microsoft Windows";
}

Wir kommen also an folgende Grafik:

Pfeile mit Beschreibung

Den einzelnen Pfeilen wollen wir natürlich eine Beschreibung hinzufügen, auch dies fügt man der Beschreibung einfach an:

digraph G {
Betriebssysteme [style=filled, color="red"]
Linux [style=filled, color="blue", shape=box]
UNIX [style=filled, color="magenta", shape=box]
"MAC OS X" [style=filled, color="green", shape=box]
"Microsoft Windows" [style=filled, color="yellow" shape=box]
Betriebssysteme -> Linux [color="red", style="bold", label="Frei/POSIX" ];
Betriebssysteme -> UNIX [color="red", style="bold", label="Frei/POSIX" ];
Betriebssysteme -> "MAC OS X" [color="red", style="bold", label="Proprietär/POSIX" ];
Betriebssysteme -> "Microsoft Windows" [label="Proprietär" ];
}

Und schon erhalten wir folgende veränderte Grafik:

Elemente gruppieren

Um Elemente zu gruppieren, geht man ein wenig weiter, etwa so:

digraph G {
subgraph cluster_0 {
style=filled; color=grey;
label="basiert auf UNIX";
Linux UNIX "MAC OS X"
}
Betriebssysteme [style=filled, color="red"]
Linux [style=filled, color="blue", shape=box]
UNIX [style=filled, color="magenta", shape=box]
"MAC OS X" [style=filled, color="green", shape=box]
"Microsoft Windows" [style=filled, color="yellow" shape=box]
Betriebssysteme -> Linux [color="red", style="bold", label="Frei/POSIX" ];
Betriebssysteme -> UNIX [color="red", style="bold", label="Frei/POSIX" ];
Betriebssysteme -> "MAC OS X" [color="red", style="bold", label="Proprietär/POSIX" ];
Betriebssysteme -> "Microsoft Windows" [label="Proprietär" ];
}

Und schon wären wir bei folgender Grafik angelangt:

Die volle Dokumentation zu dieser Software finden Sie unter Graphviz.

Categories:

Tags:

Schreibe einen Kommentar

Neue Themen im Forum
Meldung, wenn NFS Share nicht err …Zitat von zebolon am 22. November 2024, 16:27 Uhr Hallo @linuxopa … Weiterlesen
Debian installieren - für Anfänge …Danke LinuxBiber, das hilft gut weiter. Wenn da aber für den De … Weiterlesen
Frage zu GrubDanke @juhu, das war für mich eine reine Verständnisfrage allge … Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

September 2023
M D M D F S S
 123
45678910
11121314151617
18192021222324
252627282930  
Archive