Graphviz,将图形放在子图中会改变节点的x坐标

时间:2012-11-19 22:37:21

标签: graphviz

我正在尝试创建包含群集的图表。当我将集群创建为自己的图形时,布局是有意义的,但当它是集群的一部分时,其中两个节点会切换位置,从而增加总边长。

以下是图表不在群集中时的代码。

digraph OrgChart {

edge[dir=none,color=black];
11->13;
12->13;
12->14;
13->15;
13->60;
13->61;
14->15;
{rank="same"; 11 12 14};
{rank="same"; 13 15};

}

这会生成一个如下所示的图表

Test2

当我使用以下代码将其作为群集的一部分时

digraph OrgChart {

subgraph cluster{
edge[dir=none,color=black];
11->13;
12->13;
12->14;
13->15;
13->60;
13->61;
14->15;
{rank="same"; 11 12 14};
{rank="same"; 13 15};
}

}

使我的图表看起来像这样

Test1

我看不出为什么11在12到14之间。

为什么会发生这种情况,有没有办法解决它?

1 个答案:

答案 0 :(得分:1)

一个令人不满意的答案是添加:

11-> 12 [style = invis];

这应该将11 12 14个节点恢复到所需的顺序。