AA_stationery_jaroas_sxc_1416847.jpg

© Jaroas, sxc.hu

Richtig arrangiert

Graphviz berechnet flexibel Graphen

19.12.2013
Statt sich über das Layout einer Grafik zu verkünsteln, konzentrieren Sie sich mit Graphviz ganz auf die Inhalte und überlassen der Software das Design.

Je mehr Elemente ein Schaubild enthält, desto komplizierter fällt das Anordnen der Knoten aus. Statt nächtelang darüber zu brüten, übergeben Sie diese Aufgabe besser dem Computer, der – mit Graphviz [1] ausgestattet – diese Arbeit perfekt erledigt. Dabei basiert die Software auf einem offenen Format, das auf den Namen DOT hört und aus einfachen Textdateien besteht.

Die meisten Distributionen führen Graphviz bereits in ihren Repositories. Unter Debian und dessen Ablegern wie Ubuntu installieren Sie die Software über den Befehl apt-get install graphviz.

Grundlagen

Listing 1 zeigt die Grundlage für ein einfaches Diagramm. Die erste Zeile definiert das Diagramm mit dem Namen G. Alle anderen Bestandteile, die in den geschweiften Klammern stehen, beziehen sich auf dieses Diagramm – in diesem Fall die Verbindungen für ein Baumdiagramm. Jede Zeile schließen Sie mit einem Strichpunkt ab.

Listing 1

digraph G {
   DOT -> Organisationsdiagramm;
   DOT -> Pfeildiagramme;
   DOT -> MindMaps;
   DOT -> Netzpläne;
}

Graphviz enthält einen Renderer, der die Diagramme erzeugt. Er berechnet, welche Anordnung sich für die einzelnen Elemente am besten eignet. Die Standard-Renderer heißen dot, neato, fdp, circo und twopi. Je nachdem, welchen Renderer Sie verwenden, sehen die Diagramme anders aus.

Die Software unterstützt eine Reihe von Formaten für die Ausgabe. Zu den gebräuchlichsten gehören EPS, JPG, PNG, SVG und PDF. Eine komplette Liste erhalten Sie dot -T?. Wählen Sie als Format für die Ausgabe svg, dann können Sie das Ergebnis mit einem Zeichenprogramm von Hand nachbearbeiten.

Das eigentliche Konvertieren gelingt mit einem einfachen Befehl. Abbildung 1 zeigt das Ergebnis des folgenden Kommandos:

$ dot -T png -o b01-diagram.png b01-diagram.dot
Abbildung 1: Mit einem einfachen Befehl verwandeln Sie die Angaben aus Listing 1 in ein Diagramm.

Die Beschreibungssprache kennt im Wesentlichen drei Objekte, mit denen Sie das Diagramm erstellen (siehe Tabelle "Objekte"). Eigenschaften, die Sie in diesen Objekten festlegen, gelten für alle Objekte – es sei denn, Sie belegen die Eigenschaft mit einem neuen Wert.

Objekte

graph Gerichtete Graphen heißen digraph; ungerichtete Graphen bezeichnen Sie mit graph. Jedes Diagramm kann mehrere Graphen enthalten.
node Knoten, die auf eine bestimmte Weise miteinander in Verbindung stehen. Sie brauchen einen Node nicht extra zu definieren, er entsteht bei seiner ersten Verwendung.
edge Verknüpfungen zwischen den Nodes. Eine gerichtete Verknüpfung entsteht, sobald Sie zwei Nodes mit -> verbinden.

Beschriftung

Standardmäßig verwendet Graphviz zum Beschriften den Namen des Nodes. Für den Node-Namen eignen sich allerdings nicht alle Zeichen, insbesondere nicht Sonderzeichen. Möchten Sie Leerzeichen, Sonderzeichen oder Umbrüche verwenden, so definieren Sie für den Node ein Label (label), wobei Sie dessen Inhalt in Anführungszeichen setzen. Ein Zeilenumbruch fügen Sie mit der Escape-Sequenz \n ein. Mit dem Code aus Listing 2 erstellen Sie eine Übersicht über die Schullaufbahn in Bayern (Abbildung 2).

Listing 2

digraph G {
   G  [label="Grundschule"];
   H  [label="Hauptschule"];
   R  [label="Realschule"];
   Gy [label="Gymnasium"];
   RMNW [label="Mathe-Naturw."];
   RBWR [label="Wirtschaftlich"];
   RF   [label="Französisch"];
   RWS  [label="Musisch/Hausw./Sozial"];
   GYMNW  [label="Naturw.-Technisch"];
   GYSPR  [label="Sprachlich"];
   GYMUS  [label="Musisch"];
   GYWISO [label="Wirtschafts- und Sozialw."];
   G -> H; G -> R; G -> Gy;
   R -> RMNW; R -> RBWR; R -> RF; R -> RWS;
   Gy -> GYMNW; Gy -> GYSPR; Gy -> GYMUS; Gy -> GYWISO;
}
Abbildung 2: Diagramm der Schullaufbahn in Bayern.

Das Ergebnis fällt nicht optimal aus: Besser wäre ein Verlauf von links nach rechts, anstatt von oben nach unten. Das Attribut rankdir des Objekts graph legt die Orientierung des Diagramms fest. Dafür gibt es die Werte TB (von oben nach unten, Grundeinstellung), LR (von links nach rechts), RL (von rechts nach links) und BT (von unten nach oben).

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.