Impondo a ordenação horizontal de nós em uma árvore .dot
Eu estou tentando recriar um diagrama de exemplo para uma árvore de pesquisa binária com GraphViz. É assim que deve ficar no final:
Esta é a minha primeira tentativa:
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;
}
Mas infelizmente o GraphViz não se importa com as posições horizontais da árvore, então eu fico:
Como posso adicionar restrições para que as posições horizontais dos vértices reflitam sua ordenação total?