2017-10-02 6 views
2

Zum ersten Mal DOT/GraphViz Benutzer hier. Ich habe folgendes DiagrammWie mache ich dieses Diagramm azyklisch, mit Graphviz, Punkt?

digraph G { 
    rankdir=LR; 
    "START" -> "A" -> "B" -> "A" -> "C" -> "A" -> "END" 
    "START" -> "A" -> "C" -> "A" -> "B" -> "A" -> "END" 
} 

, die wie dieser

enter image description here

gerendert wird, während Ich mag es wäre wie diese

enter image description here

zu erbringenden Wie kann ich ausdrücken dass in DOT?

Antwort

1

In Graphviz können Sie nicht mehrere Zustände mit derselben ID haben. Sie können jedoch ein Diagramm erstellen, in dem die IDs der Zustände unterschiedlich sind, ihre Beschriftung jedoch identisch ist.

Um die Grafik, die Sie mich mit so etwas wie diesem würde versuchen wollen zu bauen:

digraph G{ 
    START [label="START"]; 
    A1 [label="A"]; 
    A2 [label="A"]; 
    A3 [label="A"]; 
    B1 [label="B"]; 
    B2 [label="B"]; 
    C1 [label="C"]; 
    C2 [label="C"]; 
    END [label="END"] 
    START->A1 
    A1->B1 
    A1->C1 
    B1->A2 
    C1->A2 
    A2->B2 
    A2->C2 
    B2->A3 
    C2->A3 
    A3->END 
} 

, die angezeigt verschiedene Zustände mit dem gleichen Namen (Label) definiert. Hier können Sie sehen das Ergebnis: enter image description here

+0

Danke, macht Sinn. Das Generieren des Codes wird jedoch ein Albtraum sein. Gibt es Alternativen zu Graphviz, die sich möglicherweise so verhalten, wie ich es brauche? – Morpheu5

+0

Ich hatte nie die Notwendigkeit, etwas anderes zu verwenden. Ich denke, Graphviz ist der Standard für das Drucken von Graphen. – rakwaht

1

Dies ist genau das gleiche wie @rakwaht vorgeschlagen und Sie nahmen bereits, nur prägnanter geschrieben - ich glaube nicht, das ist ein Alptraum:

digraph G{ 
    START [label="START"]; 
    A1, A2, A3 [label="A"]; 
    B1, B2 [label="B"]; 
    C1, C2 [label="C"]; 
    END [label="END"]; 
    START-> A1 -> { B1 C1 } -> A2 -> { B2 C2 } -> A3 -> END 
} 
+0

Der Albtraumteil erzeugte diesen Code von meiner Ursprungdatenstruktur, aber am Ende schaffte ich, und es war in der Tat, irgendwie alptraumhaft. – Morpheu5

Verwandte Themen