2014-12-02 12 views
5

Ich habe versucht, eine einfache zyklische Graphen mit dieser DOT-Eingabedatei zu erstellen:Wie erstellt man ein zyklisches Diagramm mit GraphViz DOT?

digraph { 
    rankdir=LR; 

    node0 [label = "0", group="bottom"]; 
    node1 [label = "1", group="bottom"]; 
    node2 [label = "2", group="top"]; 
    node3 [label = "3", group="top"]; 

    node0 -> node1; 
    node1 -> node0; 

    node2 -> node3; 
    node3 -> node2; 
} 

und so weit so gut, es ergibt sich:

First try at a cyclic graph

aber jetzt möchte ich folgendes haben Beziehungen zu den Knoten hinzugefügt:

node0 -> node3; 
node3 -> node0; 

node2 -> node1; 
node1 -> node2; 

und überraschend, führt dies zu:

Unsatisfactory horizontal node placement

Wenn ich entfernen rankdir=LR;, erhalte ich eine vertikale Graphen. Ich brauche einen einfachen zyklischen Graph, da die Knotenplatzierung im Raum eine Verbindung zu dem hat, auf das sie sich beziehen. Die neuen Verbindungen sollten also vertikal sein und die Knoten sollten ein Quadrat bilden. Ist dies mit DOT möglich?

Antwort

3

Es könnte möglich sein, mit DOT zu erreichen; Ich habe seit ein paar Jahren nicht mehr damit gespielt, also bin ich ein bisschen eingerostet. Ihre Daten werden jedoch als ordentliche Raute gerendert, wenn Sie das Schwesterprogramm circo von dot verwenden, das Teil einer normalen GraphViz-Installation sein sollte.

Verwandte Themen