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

8 投票
1 回答
1175 浏览
提问于 2025-04-16 01:45

我正在从一个树状的数据结构创建一个DOT图的可视化,但在根据数据类型设置固定的层级深度时遇到了困难。比如说,如果我在树中有4个节点,A代表一种特定的数据类型,而B代表另一种,那么它看起来像是Graph_1:

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

而不是Graph_2:

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

Graph_2是我想要的结果。

我想要的就是这些固定的层级。我可以很容易地识别出我添加到图中的数据类型,但在如何给节点打标签以实现这个目标上遇到了麻烦。可以通过子图来做到这一点吗?

顺便说一下,这是我第一次接触DOT。

1 个回答

4

是的,子图是可以使用的。

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

结果是

alt text
(来源: brool.com)

撰写回答