Я хочу сделать несколько деревьев одновременно и разместить все корневые узлы и все листовые узлы на одном уровне.Как разместить узлы на одном уровне в DOT?
Вот пример того, что я пытаюсь сделать. Корневые узлы А и Х находятся на том же уровне, и поэтому листовые узлы B, D и Z.
Я безуспешно пытались положить корни в один ряд и оставляет в другом следующим образом:
digraph G {
rankdir = TB;
subgraph {
A -> B
A -> C
C -> D
X -> Y
rank = same; A; X;
rank = same; B; D; Y;
} /* closing subgraph */
}
И получил этот результат, когда все находится на одном уровне.
Любые предложения о том, что я должен попробовать? У меня уже есть корни и листья.
Это здорово! Я думал, что ранг всегда указывался как атрибут подграфа, а не как утверждение самому себе. – Jeremy
Действительно ли подграф необходим? Я доволен этим результатом: digraph { rankdir = LR; 1902387216 [label = "h"]; 1902387216 -> 1736863396 [label = "child"]; 1736863396 [label = "e"]; 1736863396 -> 166482735 [label = "peer"]; {rank = same; 1736863396; 166482735;}; 166482735 [label = "a"]; 166482735 -> 915735320 [label = "child"]; 915735320 [label = "n"]; 915735320 -> 1424861798 [label = "child"]; 1424861798 [label = "d"]; 1736863396 -> 233979847 [label = "child"]; 233979847 [label = "r"]; } –
@WilliamJohnHolden: Я согласен с вами в том, что подграф не нужен. В исходном вопросе она, вероятно, была частью общего графика, остальная часть которой была опущена для создания минимального примера. – Simon