In der DOT
Sprache für GraphViz
versuche ich, ein Abhängigkeitsdiagramm darzustellen. Ich muss in der Lage sein, Knoten in einem Container zu haben und Knoten und / oder Container von anderen Knoten und / oder Containern abhängig zu machen.
Ich verwende subgraph
, um meine Container darzustellen. Die Knotenverknüpfung funktioniert einwandfrei, aber ich kann nicht herausfinden, wie Subgraphen verbunden werden.
In Anbetracht der unten angegebene Programm muss ich in der Lage sein , zu verbinden cluster_1
und cluster_2
mit einem Pfeil, aber alles , was ich versucht habe , schafft neue Knoten stattdessen die Cluster verbinden:
digraph G {
graph [fontsize=10 fontname="Verdana"];
node [shape=record fontsize=10 fontname="Verdana"];
subgraph cluster_0 {
node [style=filled];
"Item 1" "Item 2";
label = "Container A";
color=blue;
}
subgraph cluster_1 {
node [style=filled];
"Item 3" "Item 4";
label = "Container B";
color=blue;
}
subgraph cluster_2 {
node [style=filled];
"Item 5" "Item 6";
label = "Container C";
color=blue;
}
// Renders fine
"Item 1" -> "Item 2";
"Item 2" -> "Item 3";
// Both of these create new nodes
cluster_1 -> cluster_2;
"Container A" -> "Container C";
}
fdp
. Das verknüpfte Beispiel und das obige funktionieren beide (die letzte Zeile im Beispiel hier muss die Namen der Untergraphen verwenden, nicht die Beschriftung, und es kann hilfreich sein, Zeilenlängen für das Diagramm einzuschließen). es ist ein wenig eng wie es ist).
fdp
v2.28.0 verwenden und die Quelle aus dem Beispiel kopieren / einfügen, werden die Linien mit der Mitte des Untergraphen und nicht mit den Kanten verbunden. Wenn Sie den Punkt in OmniGraffle öffnen, sind sie ordnungsgemäß verbunden, neato
und dot
beide erstellen überflüssige Knoten für den Cluster.