Gesamtansicht

Mit dem Attribut size bestimmen Sie die maximale Größe des gesamten Bilds (graph [size="0.5,0.5"];). Sollte der Graph diese überschreiten, so skaliert die Software das Bild entsprechend, sodass es die vorgegebenen Werte einhält. Dabei verkleinert das Programm die Ausgabe so lange (ohne das Seitenverhältnis zu ändern), bis Breite und Höhe innerhalb der Vorgabe liegen.

Hängen Sie der Größenangabe ein Ausrufezeichen an, so skaliert Graphviz das Bild immer auf die vorgegebene Größe: Fällt die Grafik kleiner aus, dann vergrößert das Programm sie und umgekehrt. Bei dieser Operation beachtet das Tool aber ebenfalls das Seitenverhältnis. Das Attribut interagiert dabei mit dem Attribut ratio, welches das Seitenverhältnis (Höhe/Breite) des Bilds festlegt.

Das Attribut page legt die Größe der Seite fest. Ist das Diagramm größer als die Seite, so landen rechteckige Bereiche der Zeichnung auf mehreren Seiten. Auf diese Weise erstellen Sie quasi ein Poster (nur für mehrseitige Bildformate als Ausgabe). Das Attribut margin legt den Rand der Zeichnung fest. Haben Sie das Attribut page mit einem gültigen Wert gesetzt, spezifiziert pagedir die Seitenausrichtung.

Das Attribut nodesep legt den minimalen Abstand zweier Nodes in derselben Ebene fest, ranksep legt den minimalen vertikalen Abstand zweier Nodes fest (zwischen den übergeordneten und der Ebene darunter, siehe Zeile 2 in Listing 3).

Geben Sie zusätzlich equally hinter der Zahl an, haben die Ebenen den gleichen Abstand. Gerade bei einer hierarchischen Struktur ist es wichtig, Nodes auf eine Ebene zu platzieren. Mit dem Attribut rank=same bilden Sie Gruppen (siehe Zeile 5 in Listing 3).

Es gibt noch eine Menge weitere Parameter, die Sie aber meist nur für spezielle Anwendungen benötigen. Eine komplette Übersicht liefert das Graphviz-Online-Handbuch [5]. Ergänzen Sie das Listing 2 entsprechend (siehe Listing 3), so hat das auf das Aussehen eine deutliche Auswirkung (Abbildung 6).

Listing 3

digraph G {
   graph [rankdir=LR,nodesep=.5,ranksep=.5];
   node [shape=box,style=rounded,width=3];
        { rank = same; H; R; Gy; }
   G  [label="Grundschule",fillcolor=lightgray,style=filled];
   H  [label="Hauptschule",fillcolor=lightgray,style=filled];
   R  [label="Realschule",fillcolor=lightgray,style=filled];
   Gy [label="Gymnasium",fillcolor=lightgray,style=filled];
   RMNW [label="Mathe-Naturw."];
   RBWR [label="Wirtschaftlich"];
   RF   [label="Französisch"];
   RWS  [label="Musisch/Hausw./Sozial"];
   GYMNW  [label="Naturw. - Technologisch"];
   GYSPR  [label="Sprachlich"];
   GYMUS  [label="Musisch"];
   GYWISO [label="Wirtschafts- und Sozialw."];
        H -> R   [arrowhead="vee",dir="both",arrowtail="vee",style=dotted,label=" Wechsel"];
        R -> Gy  [style=dotted,dir="both",arrowtail="vee",style=dotted,label=" Wechsel"];
   G -> H [style=bold];
   G -> R [style=bold];
   G -> Gy [style=bold];
   R -> RMNW [arrowhead=onormal];
   R -> RBWR [arrowhead=onormal];
   R -> RF [arrowhead=onormal];
   R -> RWS [arrowhead=onormal];
   Gy -> GYMNW [arrowhead=onormal];
   Gy -> GYSPR [arrowhead=onormal];
   Gy -> GYMUS [arrowhead=onormal];
   Gy -> GYWISO [arrowhead=onormal];
}
Abbildung 6: Mit einigen zusätzlichen Attributen verleihen Sie der Grafik ein deutlich attraktiveres Aussehen als mit den Standardwerten.

Renderer

Mit der Beschreibungssprache DOT legen Sie fest, welche Nodes es gibt, und wie diese zueinander in Beziehung stehen. Die Position im Diagramm legt der Renderer fest. Der Renderer dot zeichnet das Diagramm streng hierarchisch strukturiert. Die Diagramme weisen immer eine feste Orientierung auf (Abbildung 7).

Abbildung 7: Renderer dot.

Der Renderer neato ordnet die Nodes zirkulär von der Mitte nach außen an (Abbildung 8) und eignet sich gut für Mindmaps mit symmetrischem Layout. Dabei versucht die Software, ein möglichst enges Zusammenspiel der Nodes zu erreichen. Um diese Symmetrie besser darzustellen, kommen gerade Linien zwischen den Nodes zum Einsatz.

Abbildung 8: Renderer neato.

Der Renderer fdp erzeugt ähnliche Ergebnisse (Abbildung 9) wie neato. Jedoch versucht er, ein weites Zusammenspiel der Nodes zu erreichen. Dies verteilt die Nodes gleichmäßiger auf der Zeichenfläche.

Abbildung 9: Renderer fdp.

Mit circo versucht Graphviz, die vorhandenen hierarchischen Strukturen zu erhalten und die Nodes ähnlich wie neato aufzubauen (Abbildung 10).

Abbildung 10: Renderer circo.

Der Renderer twopi versucht, die hierarchische Struktur aufzulösen, und baut die Nodes ähnlich wie neato auf (Abbildung 11).

Abbildung 11: Renderer twopi.

sfdp versucht wie fdp, die hierarchische Struktur aufzulösen, verwendet aber einen Multi-Skalen-Ansatz, um große Graphen in kurzer Zeit zu rendern (Abbildung 12).

Abbildung 12: Renderer sfdp.

Für gruppierte Grafiken ist dagegen osage gedacht (Abbildung 13). Viele weitere Beispiele dazu finden Sie online [6].

Abbildung 13: Renderer osage.

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 11/2014: VIDEOS BEARBEITEN

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

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

WLAN-Signalqualität vom Treiber abhängig
GoaSkin , 29.10.2014 14:16, 0 Antworten
Hallo, für einen WLAN-Stick mit Ralink 2870 Chipsatz gibt es einen Treiber von Ralink sowie (m...
Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...