W DOT
języku dla GraphViz
staram się przedstawić diagram zależności. Potrzebuję mieć węzły w kontenerze i móc uzależniać węzły i / lub kontenery od innych węzłów i / lub kontenerów.
Używam subgraph
do reprezentowania moich pojemników. Łączenie węzłów działa dobrze, ale nie mogę dowiedzieć się, jak połączyć podgrafy.
Biorąc pod uwagę poniższy program, muszę być w stanie połączyć się cluster_1
i cluster_2
za pomocą strzałki, ale wszystko, czego próbowałem, tworzy nowe węzły zamiast łączyć klastry:
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
. Połączony przykład, jak i ten powyżej, działają (ostatnia linia w tym przykładzie musi zawierać nazwy podgrafów, a nie etykietę i może być miło dołączyć długości linii dla wykresu); jest trochę napięty).
fdp
2.28.0 i kopiując / wklejając źródło z przykładu, linie łączą się ze środkiem podgrafu, a nie z krawędziami. Jeśli otworzysz .dot w OmniGraffle są prawidłowo podłączone, podczas neato
i dot
zarówno tworzyć zbędnych węzłów do klastra.