У DOT
мові для GraphViz
, я намагаюся уявити діаграму залежності. Мені потрібно мати можливість мати вузли всередині контейнера та вміти робити вузли та / або контейнери залежними від інших вузлів та / або контейнерів.
Я використовую subgraph
для представлення своїх контейнерів. Зв'язування вузлів працює чудово, але я не можу зрозуміти, як підключити підграф.
З огляду на нижченаведену програму, мені потрібно вміти підключатися cluster_1
і cluster_2
зі стрілкою, але все, що я намагався, створює нові вузли замість підключення кластерів:
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
. Зв'язаний приклад і той, що знаходиться над обома роботами (в останньому рядку в прикладі тут потрібно використовувати назви підграфів, а не мітку, і може бути непогано включити довжини рядків для графіка); це трохи тісно, як є).
fdp
v2.28.0 та копіюючи / вставляючи джерело з прикладу, лінії підключаються до центру підграфу, а не до країв. Якщо ви відкриєте .dot в OmniGraffle, вони належним чином підключені, тоді як neato
і dot
обидва створюють зайві вузли для кластера.