Björn Klippstein

Graphviz-Ranking

Klippstein IT Service

Aus 4webmaster.de

Wechseln zu: Navigation, Suche

Der Ranking-Mechanismus

digraph G {
 main -> A
 main -> B
 main -> C
}

Dem Diagramm links soll eine neue Verbindungslinie hinzugefügt werden: Eine einfache Linie zwischen den Nodes B und C. Dabei passiert etwas Unerwartetes...




Ein neuer Pfeil bringt alles durcheinander

digraph G {
 main -> A
 main -> B
 main -> C
 B -> C [dir=none, 
         color=gold, 
         style=bold]
}

Hoops! Das sieht seltsam aus. Wie kommt so ein Ergebnis zustande? Ganz einfach: Graphviz stellt alle hierarchischen Beziehungen streng dar. Zumindest ist das die Standardeinstellung. Wenn im Quelltext B -> C steht, dann wird der Node B auch hierarchisch unterhalb von Node C eingezeichnet. Das geht nur, indem eine zusätzliche Hierarchieebene dargestellt wird. Das Diagramm hat nun nicht mehr nur zwei Hierarchieebenen, sondern drei.



Beispiel für Graphviz-Attribut contraint
Mit constraint=false

digraph G {
 main -> A
 main -> B
 main -> C
 B -> C [dir=none, 
         color=gold, 
         style=bold, 
         constraint=false]
}

Hier hilft das Attribut constraint. Setzen Sie es auf false um zu verhindern, dass die Edge eine neue hierarchische Ebene einführen kann.





Dieser Artikel ist ein Originalartikel von 4webmaster.de. Copyright: Björn Klippstein; CC-Lizensierung in Kürze