Как разместить узлы на одном уровне в DOT?

Я хочу визуализировать несколько деревьев одновременно и разместить все корневые узлы и все конечные узлы на одном уровне.

Вот пример того, что я пытаюсь сделать. Корневые узлы A и X находятся на одном уровне, также как и листовые узлы 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 */
}

И получил этот результат, где все на одном уровне.

Любые предложения о том, что я должен пытаться? У меня уже есть корни и листья идентифицированы.

Ответы на вопрос(1)

Ваш ответ на вопрос