Nella DOT
lingua di GraphViz
, sto cercando di rappresentare un diagramma delle dipendenze. Ho bisogno di essere in grado di avere nodi all'interno di un contenitore e di poter rendere nodi e / o contenitori dipendenti da altri nodi e / o contenitori.
Sto usando subgraph
per rappresentare i miei contenitori. Il collegamento dei nodi funziona bene, ma non riesco a capire come collegare i sottografi.
Dato il programma seguente, devo essere in grado di connettermi cluster_1
e cluster_2
con una freccia, ma qualsiasi cosa abbia provato crea nuovi nodi invece di collegare i cluster:
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
. L'esempio collegato e quello sopra funzionano entrambi (l'ultima riga nell'esempio qui deve usare i nomi dei sottografi non l'etichetta e potrebbe essere utile includere le lunghezze delle linee per il grafico); è un po 'stretto così com'è).
fdp
v2.28.0 e copiando / incollando la fonte dall'esempio le linee si collegano al centro del sottografo, non ai bordi. Se si apre il dot in OmniGraffle questi sono collegati, mentre neato
e dot
sia creare nodi superflui per il cluster.