如何在DOT图中设置固定的深度级别

Jag*_*gid 6 python macos dot graphviz

我正在从树状数据结构创建DOT图形可视化,但是根据数据类型设置固定级别深度很困难.例如,如果我在树中有4个节点,而A表示特定数据类型而B表示另一个,则它需要Graph_1:

                                      ROOT   
                                     /    \  
                                   A[0]    B[1]
                                   /        
                                 B[0]    
Run Code Online (Sandbox Code Playgroud)

与Graph_2相反:

                                      ROOT   
                                     /    \  
                                   A[0]    \
                                   /        \
                                 B[0]       B[1]   
Run Code Online (Sandbox Code Playgroud)

Graph_2是我想要的结果.

固定水平是我正在寻找的.我怎样才能做到这一点?我可以很容易地识别出我正在添加到图表中的数据类型,但是在如何标记节点以实现此目的方面遇到了麻烦.可以使用子图完成吗?

仅供参考,这是我第一次玩DOT.

bro*_*ool 4

是的,子图可以工作。

digraph {
  subgraph { rank = same; A0 };
  subgraph { rank = same; B0; B1 };
  root -> A0;
  A0 -> B0;
  root -> B1;
}
Run Code Online (Sandbox Code Playgroud)

结果是

替代文本
(来源:brool.com