Обеспечение горизонтального упорядочения узлов в дереве .dot

Я пытаюсь воссоздать пример диаграммы для двоичного дерева поиска с GraphViz. Вот как это должно выглядеть в конце:

enter image description here

Это моя первая попытка:

digraph G {
    nodesep=0.3;
    ranksep=0.2;
    margin=0.1;
    node [shape=circle];
    edge [arrowsize=0.8];
    6 -> 4;
    6 -> 11;
    4 -> 2;
    4 -> 5;
    2 -> 1;
    2 -> 3;
    11 -> 8;
    11 -> 14;
    8 -> 7;
    8 -> 10;
    10 -> 9;
    14 -> 13;
    14 -> 16;
    13 -> 12;
    16 -> 15;
    16 -> 17;
}

Но, к сожалению, GraphViz не заботится о горизонтальных положениях дерева, поэтому я получаю:

enter image description here

Как я могу добавить ограничения, чтобы горизонтальные позиции вершин отражали их полное упорядочение?

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

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