Graphviz Dot:混合集群和节点导致点崩溃

Graphviz Dot : Mixing clusters and nodes causes dot to crash

我正在尝试创建一个流程的概览,对于与 1 个任务并行的 1 个子流程,我想要下图:

digraph cluster0 {
    graph [compound=true label=0]
        I_0 [label="" height=0 shape=none style=invis width=0]
        E_0 [label="" height=0 shape=none style=invis width=0]

    subgraph cluster1 {
      graph [compound=true label=subprocess1]
        I_1 [label="" height=0 shape=none style=invis width=0]
        E_1 [label="" height=0 shape=none style=invis width=0]
        I_1 -> t111 -> t112 -> t113
        I_1 -> t121 -> t122 -> t123
        I_1 -> t131 -> t132 -> t133
        t113 -> E_1 [style=invis]
        t123 -> E_1 [style=invis]
        t133 -> E_1 [style=invis]
    }
    I_0 -> I_1 [lhead=cluster1]
    E_1 -> E_0 [ltail=cluster1 style=invis]

    I_0 -> task1
    task1 -> E_0 [style=invis]
}

运行

dot -Tpng process.dot -o process.png

产生以下预期输出: Dot output from code above

但是,如果我尝试添加另一个与现有子流程和任务并行的子流程,我会收到一个弹出窗口,通知该点已崩溃:

digraph cluster0 {
  graph [compound=true label=0]
    I_0 [label="" height=0 shape=none style=invis width=0]
    E_0 [label="" height=0 shape=none style=invis width=0]

    subgraph cluster1 {
      graph [compound=true label=subprocess1]
        I_1 [label="" height=0 shape=none style=invis width=0]
        E_1 [label="" height=0 shape=none style=invis width=0]
        I_1 -> t111 -> t112 -> t113
        I_1 -> t121 -> t122 -> t123
        I_1 -> t131 -> t132 -> t133
        t113 -> E_1 [style=invis]
        t123 -> E_1 [style=invis]
        t133 -> E_1 [style=invis]
    }
    I_0 -> I_1 [lhead=cluster1]
    E_1 -> E_0 [ltail=cluster1 style=invis]

    subgraph cluster2 {
      graph [compound=true label=subprocess2]
        I_2 [label="" height=0 shape=none style=invis width=0]
        E_2 [label="" height=0 shape=none style=invis width=0]
        I_2 -> t211 -> t212 -> t213
        I_2 -> t221 -> t222 -> t223
        I_2 -> t231 -> t232 -> t233
        t213 -> E_2 [style=invis]
        t223 -> E_2 [style=invis]
        t233 -> E_2 [style=invis]
    }
    I_0 -> I_2 [lhead=cluster2]
    E_2 -> E_0 [ltail=cluster2 style=invis]

    I_0 -> task1
    task1 -> E_0 [style=invis]
}

我是在做违法的事,还是不该做的事?无法在其他地方找到有关此行为的任何帮助

I_2 [label="" height=0 shape=none style=invis width=0]

好像不能设置形状none但是标签是空的。 尝试删除空标签或使用不可见点代替。

I_2 [shape=point style=invis]