Linux Bibel online

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Österreich Lizenz.

Change language by Google translator: ...

Stellen Sie sich vor Sie müssten sehr schnell eine Grafik erstellen mit der man die neue Ordnung der Firma oder ähnliches vorstellen möchte, Produktionszyklen, Zusammenhänge dar stellen oder ähnliches man nennt solche Grafiken Diagramme, Ornigramme oder einfach auch nur Schaubilder. Die meisten nutzen dazu Software wie etwa Microsoft Office, Libre Office und ähnliches - wenn man genug Zeit hat kommt zumeist auch etwas anständiges dabei raus, ist dies jedoch nicht der Fall entsteht unübersichtlicher Mist.

Hier hängt sich nun die Software Graphviz ein, man zeigt der Software womit sie arbeiten soll, welche Zusammenhänge bestehen - um den Rest, also das optische Zeug kümmert sich die Software selbst. In diesem Beitrag erhalten Sie nun eine kleine Einleitung in diese Software.

Graphviz installieren

Unter auf Debian basierenden Linux-Distributionen wie etwa Ubuntu, Kubuntu, Linux Mint und so weiter installieren Sie die Software ganz einfach über die Paket-Verwaltung durch das Paket "graphviz".

Graphviz nutzen

Anders als andere Software nutzt man unter Graphviz unter normalen Umständen keine grafische Software, man nutzt einen beliebigen Texteditor und ganz wenige Befehle auf dem Terminal - was umständlich klingen mag ist der große Vorteil dieser Software - wie schon beschrieben zeigt man der Software mit welchen Daten sie arbeiten soll und welche Daten wie zusammen hängen sollen, in groben Maße vielleicht gibt man dieser noch ein wenig Optik vor - wie einfach dies ist sollen nun die folgenden Beispiele zeigen.

Erstes Beispiel

Als erstes wollen wir uns einfach einmal ansehen wie man eine einfache Grafik erstellt und dann werden wir uns um die Einzelheiten genauer kümmern. Wie schon beschrieben arbeitet man mit einem einfachen beliebigen Texteditor, so etwa unter KDE Kate oder unter GNOME und Unity Gedit, dies kann aber auch jeder beliebige andere sein, damit erstellt man eine Text-Datei mit der Datei-Endung ".gv". In diese Datei schreibt man seine Anweisungen, mit einem Befehl am Terminal erstellt man daraus dann seine Grafik. Ein wirklich ganz einfaches Beispiel:

digraph G { Linux -> Debian; }

Im Beispiel nenne ich die Datei ganz einfach "test.gv", nun starte ich im Terminal den Befehl:

dot -Tpng test.gv -o test.png

Heraus kommt im Beispiel folgende Datei:

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

Wie kann man den Inhalt der Datei nun verstehen und wie den Befehl? Dies ist ganz einfach erklärt: "digraph G {" ist ganz einfach die Einleitung wie etwa bei einem Script der Shebang - damit versteht die Shell - also der Interpreter hinter dem Terminal mit welcher Art von Datei er es hier zu tun hat. Alles was sich nun in geschweifter Klammer "{}" findet sind die Daten und Optik die Graphviz nutzen soll. Hier beispielsweise die Zeile "Linux -> Debian;" - dies bedeutet nichts anderes als das von "Linux" ein Pfeil "->" Richtung "Debian" gehen soll.

Der Befehl selbst ist noch viel einfacher erklärt, "dot" ist die eigentliche Software also der grundlegende Befehl der die Grafik anlegen wird. "-Tpng" zeigt nun Dot welches Grafik-Format erstellt werden soll, dies könnte etwa auch "-Tjpeg" oder "-Tsvg" sein. Nun folgt die erstellte Text-Datei "test.gv" sowie durch die Option "-o" die zu erstellende Datei - in diesem Fall also "test.png. Welche Arten von Formate Graphviz nun unterstützt - also welche Dateien die Software anlegen kann zeigt der Befehl:

dot -Txxx

Und dies sind schon eine ganze Menge. Geht es darum zwei getrennte Wörter oder mehr Zeichen einzubringen muss man diese unter Anführungszeichen setzen:

digraph G { "GNU / Linux" -> "Debian GNU/Linux"; }

Womit wir folgende Grafik erhalten würden:

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

Nun wollen wir diese Grafik etwas erweitern:

digraph G { "GNU / Linux" -> "Debian GNU/Linux"; "GNU / Linux" -> "Open SuSE"; "GNU / Linux" -> Manjaro; }

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

Oder gleich noch etwas aufschlussreicher:

digraph G { "GNU / Linux" -> "Debian GNU/Linux" -> Ubuntu; "GNU / Linux" -> "Open SuSE" -> "SuSE Studio"; "GNU / Linux" -> Manjaro; Ubuntu -> Kubuntu; Ubuntu -> "Linux Mint"; Ubuntu -> "..."; }

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

Die Ansicht der Grafik selbst kann man noch ändern indem man den Befehl "dot" durch "neato" (kreisförmig mit ungerichteten Graphen), "twopi" (kreisförmig mit gerichteten Graphen) oder "circo" (halbkreisförmig mit ungerichteten Graphen) ersetzt:

neato -Tpng test.gv -o test.png

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

twopi -Tpng test.gv -o test.png

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

circo -Tpng test.gv -o test.png

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux (verkleinert)

Optik ändern

Nun wollen wir uns ein wenig um die Optik kümmern, als erstes möchte ich die Daten "GNU / Linux" rot färben:

digraph G { "GNU / Linux" [style=filled, color="red"] "GNU / Linux" -> "Debian GNU/Linux" -> Ubuntu; "GNU / Linux" -> "Open SuSE" -> "SuSE Studio"; "GNU / Linux" -> Manjaro; Ubuntu -> Kubuntu; Ubuntu -> "Linux Mint"; Ubuntu -> "..."; }

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

Die möglichen Farben finden Sie hier.

Und nun möchte ich die einzelnen Knoten in eckige Kästchen stellen:

digraph G { "GNU / Linux" [style=filled, color="red"] node [shape=box] "GNU / Linux" -> "Debian GNU/Linux" -> Ubuntu; "GNU / Linux" -> "Open SuSE" -> "SuSE Studio"; "GNU / Linux" -> Manjaro; Ubuntu -> Kubuntu; Ubuntu -> "Linux Mint"; Ubuntu -> "..."; }

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

Was sich natürlich noch weiter modifizieren lässt:

digraph G { "GNU / Linux" [style=filled, color="red"] "Debian GNU/Linux" [style=rounded] "Open SuSE" [style=bold] "SuSE Studio" [style=diagonals, shape=box] Manjaro [style=dotted] Ubuntu [style=dashed] node [shape=box] "GNU / Linux" -> "Debian GNU/Linux" -> Ubuntu; "GNU / Linux" -> "Open SuSE" -> "SuSE Studio"; "GNU / Linux" -> Manjaro; Ubuntu -> Kubuntu; Ubuntu -> "Linux Mint"; Ubuntu -> "..."; }

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

Oder wir wollen einzelne Gruppen heraus heben:

digraph G { "GNU / Linux" [style=filled, color="red"] "Debian GNU/Linux" [style=rounded] "Open SuSE" [style=bold] "SuSE Studio" [style=diagonals, shape=box] Manjaro [style=dotted] Ubuntu [style=dashed] node [shape=box] "GNU / Linux" -> "Debian GNU/Linux" -> Ubuntu; "GNU / Linux" -> "Open SuSE" -> "SuSE Studio"; "GNU / Linux" -> Manjaro; subgraph cluster_debian { style=filled; color=grey; label="Basierend auf Debian"; Ubuntu -> Kubuntu; Ubuntu -> "Linux Mint"; Ubuntu -> "..."; } }

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

Nun lassen sich natürlich auch einzelne Pfeile ändern:

digraph G { "GNU / Linux" [style=filled, color="red"] "Debian GNU/Linux" [style=rounded] "Open SuSE" [style=bold] "SuSE Studio" [style=diagonals, shape=box] Manjaro [style=dotted] Ubuntu [style=dashed] node [shape=box] "GNU / Linux" -> "Debian GNU/Linux" [style=bold, color=blue, label=Debian]; "Debian GNU/Linux" -> Ubuntu; "GNU / Linux" -> "Open SuSE" -> "SuSE Studio"; "GNU / Linux" -> Manjaro; subgraph cluster_debian { style=filled; color=grey; label="Basierend auf Debian"; Ubuntu -> Kubuntu; Ubuntu -> "Linux Mint"; Ubuntu -> "..."; } }

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

Möchte man die Pfeile weg lassen ersetzt man "digraph" durch "graph" und "->" durch "--":

graph G { "GNU / Linux" [style=filled, color="red"] "Debian GNU/Linux" [style=rounded] "Open SuSE" [style=bold] "SuSE Studio" [style=diagonals, shape=box] Manjaro [style=dotted] Ubuntu [style=dashed] node [shape=box] "GNU / Linux" -- "Debian GNU/Linux" [style=bold, color=blue, label=Debian]; "Debian GNU/Linux" -- Ubuntu; "GNU / Linux" -- "Open SuSE" -- "SuSE Studio"; "GNU / Linux" -- Manjaro; subgraph cluster_debian { style=filled; color=grey; label="Basierend auf Debian"; Ubuntu -- Kubuntu; Ubuntu -- "Linux Mint"; Ubuntu -- "..."; } }

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

Auch die Spitzen der Pfeile lassen sich ändern:

digraph G { edge [arrowhead=vee] "GNU / Linux" [style=filled, color="red"] "Debian GNU/Linux" [style=rounded] "Open SuSE" [style=bold] "SuSE Studio" [style=diagonals, shape=box] Manjaro [style=dotted] Ubuntu [style=dashed] node [shape=box] "GNU / Linux" -> "Debian GNU/Linux" [style=bold, color=blue, label=Debian]; "Debian GNU/Linux" -> Ubuntu; "GNU / Linux" -> "Open SuSE" -> "SuSE Studio"; "GNU / Linux" -> Manjaro; subgraph cluster_debian { style=filled; color=grey; label="Basierend auf Debian"; Ubuntu -> Kubuntu; Ubuntu -> "Linux Mint"; Ubuntu -> "..."; } }

Hier durch den Eintrag "edge [arrowhead=vee]":

Sehr einfache Grafik via Graphviz unter Linux

Sehr einfache Grafik via Graphviz unter Linux

Mit "arrowhead" ändern Sie die Spitze, durch "arrowtail" das Ende und durch "arrowsize" den Pfeil - also die Linie selbst - dazu mehr hier.

Weiteres

Wie schon zu Beginn beschrieben war dies nur eine kleine Einleitung um zu verstehen wie man mit dieser Software zu arbeiten beginnt - etwas mehr erfahren Sie etwa hier.

Suche Nach oben Startseite Mail an den Autor Links rund um Linux

SiteLock