0

如何将所有“平行四边形”[查看我的代码]放在带有 graphviz 点语言的 S 框的顶部?

所以基本上输出应该看起来像一条直线,所有 M1 M2 和 Mn 在图的顶部。

实际输出: 在此处输入图像描述 期望输出: 在此处输入图像描述

digraph ER {

node [group=M; shape=parallelogram]; M1; M2; M_n;
node [group=I, shape=none]; "...";
node [group=V, shape=egg]; IV; V1; V2;
node [group=C, shape=box]; "S1";  "S2";  "S_n"; f;
node [group=F, shape=hexagon]; "FINAL";


    IV -> "S1";
    M1 -> "S1";
    "S1" -> V1;
    V1 -> "S2";
    M2 -> "S2";
    "S2" -> V2;
    V2 -> "...";
    "..." -> "S_n";
    M_n -> "S_n";
    "S_n" -> f;
    f -> "FINAL"

    rankdir=LR;
}
4

1 回答 1

1

该属性允许将同一子图rank的两个(或更多)节点约束到相同的等级。考虑到这一点:

digraph ER {

rankdir=LR;

node [shape=none]; "...";
node [shape=egg]; IV; V1; V2;
node [shape=box]; f;
{rank=same; "S1"; M1[shape=parallelogram];}
{rank=same; "S2"; M2[shape=parallelogram];}
{rank=same; "S_n"; M_n[shape=parallelogram];}
node [shape=hexagon]; "FINAL";

    IV -> "S1";
    M1 -> "S1";
    "S1" -> V1;
    V1 -> "S2";
    M2 -> "S2";
    "S2" -> V2;
    V2 -> "...";
    "..." -> "S_n";
    M_n -> "S_n";
    "S_n" -> f;
    f -> "FINAL"

}
于 2017-05-29T11:44:52.407 回答