为什么graphviz将C绘制在B的右侧?我希望它看起来像
A
B E
C
代替。
digraph {
compound=true
subgraph cluster_1 { a -> b }
b -> c
{rank=same b -> e }
}
答案 0 :(得分:2)
因为它会增加图形的总面积,这是graphviz试图最小化的。您可以尝试在包中使用不同的布局实用程序,例如lefty或neato,以查看是否可以获得更好的结果。
答案 1 :(得分:2)
我不确定你能做到你想要的。
当dot列出给定图表时,它会将cluster_1视为单个实体以进行排名。所以,如果你喜欢,cluster_1的等级为0.那么因为你说{rank = same b,e},e也有等级0.当dot绘制c时,c将具有更高的等级 - 等级1 - 所以它将被绘制低于e。因为此时无需担心x轴上的空间,所以它会在e的正下方绘制。
如果您希望节点c明确地绘制在您可以添加的其他所有内容之下
{ rank=sink c }
......看起来并不像你所瞄准的那样伟大。