Wymuszanie porządkowania węzłów poziomych w drzewie .dot

Próbuję odtworzyć diagram przykładowy dla drzewa wyszukiwania binarnego za pomocą GraphViz. Tak powinno wyglądać na koniec:

To moja pierwsza próba:

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;
}

Niestety, GraphViz nie dba o poziome pozycje drzewa, więc otrzymuję:

Jak mogę dodać ograniczenia, aby poziome pozycje wierzchołków odzwierciedlały ich całkowitą kolejność?

questionAnswers(1)

yourAnswerToTheQuestion