Как установить фиксированные уровни глубины на графиках DOT - PullRequest
6 голосов
/ 24 июля 2010

Я создаю визуализацию графа DOT из древовидной структуры данных, но испытываю трудности с установкой фиксированных уровней глубины на основе типа данных.Например, если бы у меня было 4 узла в дереве, и A обозначает конкретный тип данных, а B обозначает другой, он бы хотел Graph_1:

                                      ROOT   
                                     /    \  
                                   A[0]    B[1]
                                   /        
                                 B[0]    

, а не Graph_2:

                                      ROOT   
                                     /    \  
                                   A[0]    \
                                   /        \
                                 B[0]       B[1]   

График_2 - это то, чем я хотел бы закончить.

Фиксированные уровни - это то, что я ищу.Как мне этого добиться?Я легко могу определить, какой тип данных я добавляю в график, но у меня возникают проблемы с тем, как пометить узлы для достижения этой цели.Можно ли это сделать с помощью подграфов?

К вашему сведению, я впервые играю с DOT.

1 Ответ

3 голосов
/ 27 июля 2010

Да, подграфы будут работать.

digraph {
  subgraph { rank = same; A0 };
  subgraph { rank = same; B0; B1 };
  root -> A0;
  A0 -> B0;
  root -> B1;
}

результаты в

альтернативный текст http://images.brool.com/upload/graph.jpg

...