如果子圖之間沒有連接,則無法控制其定位。在左側的圖例中使用rank=same
是一種常見方法,以及將結構強制到佈局中的不可見節點。
如果您只需在兩個節點之間添加最小量的空間,則可以在隱藏邊上使用minlen =
屬性強制進行所需的分隔。這也在subgraph cluster ranking in dot中解釋。
這表現在:
digraph {
node [label = ""];
A; B; C; D;
E [style = invis];
{ node [shape = box, label = ""];
1 -> 2;
3 -> { 4; 5; 6; 7; 8; 9; 10; 11; 12; }; 5 -> 13; 7 -> 14; 10 -> 15; 12 -> { 16; 17; }; 16 -> 18;
19 -> { 34; 35; 36; 37; 38; 39; 40; 41; }; 35 -> 42; 36 -> 43; 40 -> { 45; 46; }; 41 -> 44;
20 -> { 21; 22; 23};
}
{ edge [weight = 10];
A -> B [minlen = 2];
B -> C [minlen = 3];
C -> D [minlen = 3];
D -> E [style = invis];
}
{ rank = same; A -> 1; }
{ rank = same; B -> 3; }
{ rank = same; C -> 19; }
{ rank = same; D -> 20; }
}
最後一棵樹(來自D
引用會落在橢圓在左側沒有隱藏E
如果這是不能接受的,那麼從一個隱藏的邊緣上述樹中的節點需要被連接到節點20
。
省略號之間的間距可以與minlen =
屬性進行調整。