9
У меня здесь есть тестовый график, который я бы хотел настроить, чтобы он выглядел лучше.graphviz: мелкие хитрости, чтобы сделать график более приятным
Вот Graphviz (точка) источник, test6.dot
:
digraph G {
ranksep=0.3; size="6.0,6.0";
node [fontsize=11];
subgraph clusterA {
X2 [shape=box];
node [style=filled];
1 -> 2 -> 3 -> X2 -> 5;
6;
7;
label = "A";
color=blue
}
X1 [shape=box];
subgraph clusterB {
node [style=filled];
8;
9;
10 -> 11 -> 12;
12 -> 9;
12 -> 8 -> 13;
13 -> 14;
label = "B";
color=blue
}
subgraph clusterC {
label = "C";
{
node [style="invis"];
gap;
}
node [shape=box];
edge [style="invis"];
X3 -> gap -> X4;
}
14 -> X4 -> 3;
6 -> X1 -> 10;
{ edge [dir="both"];
8 -> X3 -> 7;
}
9 -> X3
}
Вопросы/изменения, которые я хотел бы сделать:
- Я хочу, чтобы поток узлов
10 -> 11 -> 12 -> 8 -> 13 -> 14
к быть в вертикальной линии (свопинг 8 и 9 по горизонтали). Как я могу это сделать? (то же самое с1 -> 2 -> 3 -> X2 -> 5
; swap 6 и 1) - Я хочу, чтобы X1 находился в том же вертикальном положении, что и 10, и в том же горизонтальном положении, что и 6. Как я могу это сделать?
- Я хочу, чтобы 8 и X3 и 7 находились в одном и том же вертикальном положении, также с 14 и X4 и 3. Как я могу это сделать?
- Операция
ranksep=0.3;
прекрасно работает, за исключением того, что8 -> 13 -> 14
имеет больший промежуток, равно как иX3 -> gap -> X4
. Почему он не подчиняется правилу ranksep = 0.3 и как это исправить?