Graphviz-Box定位问题

Graphviz-Box定位问题,graphviz,Graphviz,我的结构有两个主链,在子图中有边节点。每件事情看起来都很好,但当我关闭两条链时,子图中的所有框都跳到右侧。 在我的代码末尾,你可以删除“I”->“J”,然后你就可以明白我的意思了。 我不是以英语为母语的人,对不起我的英语,我是一个graphviz新手 digraph G { size ="6,6"; node [color=black fontsize=12, shape=box, fontname=Helvetica]; subgraph { rank = same;

我的结构有两个主链,在子图中有边节点。每件事情看起来都很好,但当我关闭两条链时,子图中的所有框都跳到右侧。 在我的代码末尾,你可以删除“I”->“J”,然后你就可以明白我的意思了。 我不是以英语为母语的人,对不起我的英语,我是一个graphviz新手

digraph G {
    size ="6,6";
    node [color=black fontsize=12, shape=box, fontname=Helvetica];

subgraph {
    rank = same;
    "b"->"B"[arrowhead=none];
    }

subgraph {
    rank=same;
    "c"->"C"[arrowhead=none];
    }

subgraph {
        rank=same;
        "e"->"E" [arrowhead=none];
    }

subgraph {
    rank = same;
    "f"->"F"[arrowhead=none];
}

subgraph {
    rank = same;
    "g"->"G"[arrowhead=none];
}

"0" -> "A" -> "B" -> "C"->"D" -> "E" -> "F" -> "G" -> "H"->"I";
"0" -> "K"->"L"->"M"->"N"->"O" ->"P"->"1";

subgraph {
    rank = same;
    "L"->"l"[arrowhead=none];
}

subgraph {
    rank=same;
    "M"->"m"[arrowhead=none];
}

subgraph {
    rank=same;
    "N"->"n" [arrowhead=none];
}

subgraph {
    rank = same;
    "O"->"o"[arrowhead=none];
}

subgraph {
    rank = same;
    "P"->"p"[arrowhead=none];
}

"1"->"J";
"I"->"J";
}


“I”->“J”已删除:


我将这样做:为每个主链及其侧节点创建一个集群:

digraph G {
    size ="6,6";
    node [color=black fontsize=12, shape=box, fontname=Helvetica];

    subgraph[style=invis];

    subgraph cluster0 {
        A -> B -> C -> D -> E -> F -> G -> H -> I;
        edge[arrowhead=none];
        {rank = same; b->B;}
        {rank = same; c->C;}
        {rank = same; e->E;}
        {rank = same; f->F;}
        {rank = same; g->G;}
    }

    subgraph cluster1 {
        K -> L -> M -> N -> O -> P -> 1 -> J;
        edge[arrowhead=none];
        {rank = same; L->l;}
        {rank = same; M->m;}
        {rank = same; N->n;}
        {rank = same; O->o;}
        {rank = same; P->p;}
    }
    0 -> A;
    0 -> K;
    I -> J;
}
导致:


非常感谢你,穆奇。这正是我想要的。我很高兴它能帮上忙!如果这回答了您的问题,您应该将其标记为已接受答案。