En el DOT
lenguaje para GraphViz
, estoy tratando de representar un diagrama de dependencia. Necesito poder tener nodos dentro de un contenedor y poder hacer que los nodos y / o contenedores dependan de otros nodos y / o contenedores.
Estoy usando subgraph
para representar mis contenedores. La vinculación de nodos funciona bien, pero no puedo entender cómo conectar subgráficos.
Dado el programa a continuación, necesito poder conectarme cluster_1
y cluster_2
con una flecha, pero todo lo que he intentado crea nuevos nodos en lugar de conectar los grupos:
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
. El ejemplo vinculado y el de arriba funcionan (la última línea del ejemplo aquí necesita usar los nombres de los subgrafos, no la etiqueta, y podría ser bueno incluir longitudes de línea para el gráfico); es un poco apretado como es).
fdp
v2.28.0 y copiando / pegando la fuente del ejemplo, las líneas se conectan al centro del subgrafo, no a los bordes. Si abre el .dot en OmniGraffle, están conectados correctamente, neato
y dot
ambos crean nodos superfluos para el clúster.