Graphviz Dot размещает узел внутри подграфа, хотя он был определен в другом месте
Я пытаюсь создать генератор сценариев точек для домашней задачи, все идет хорошо, за исключением того, что у меня есть эта проблема, когда в них помещаются некоторые узлы, которые не определены в подграфах. Например, следующий точечный скрипт:
digraph dg {
compound=true;
labelloc="t";
label="test.cpp";
Vehicle;
Make;
subgraph clusterFord {
label="Ford"
Ford[shape="none"][style="invis"][label=""];
Mustang -> Vehicle [label="private"];
Thunderbird -> Vehicle [label="private"];
}
Ford -> Make [label="public"][ltail ="clusterFord"];
subgraph clusterChevrolet {
label="Chevrolet"
Chevrolet[shape="none"][style="invis"][label=""];
Camero -> Vehicle [label="private"];
}
Chevrolet -> Make [label="public"][ltail ="clusterChevrolet"];
}
Создает это изображение:
Предполагается, что узел "Автомобиль" находится за пределами подграфа "Форд". Что мне здесь не хватает?
1 ответ
Это даст то, что вы хотите:
digraph dg {
compound=true;
labelloc="t";
label="test.cpp";
subgraph clusterFord {
label="Ford"
Ford[shape="none"][style="invis"][label=""];
Mustang
Thunderbird
}
subgraph clusterChevrolet {
label="Chevrolet"
Chevrolet[shape="none"][style="invis"][label=""];
Camero
}
Ford -> Make [label="public"][ltail ="clusterFord"];
Chevrolet -> Make [label="public"][ltail ="clusterChevrolet"];
Mustang -> Vehicle [label="private"];
Thunderbird -> Vehicle [label="private"];
Camero -> Vehicle [label="private"];
}