Graphviz 子图顺序

3ll*_*i0t 4 dot graphviz

我正在尝试用点创建一个图形网络。和图形。

到目前为止,这是我的代码:

  graph {
rankdir  = LR;
splines=line;       

subgraph cluster_1{            
    1; 2;
}
subgraph cluster_2{
    b; c;
}

subgraph cluster_3{
color = white       
    10;11;
}

b -- {1 2 10 11}[color = blue];
c -- {1 2 10 11}[color = yellow];   



1[label = "1", style = filled, fillcolor = grey91]
2[label = "2", style = filled, fillcolor = grey91]
b[label = "B", style = filled, fillcolor = blue]
c[label = "C", style = filled, fillcolor = yellow]
10[label = "10", style = filled, fillcolor = grey91]
11[label = "11", style = filled, fillcolor = grey91]

}
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

在此输入图像描述

这就是我想要获得的: 在此输入图像描述

如何将子图按正确的顺序排列?

预先感谢大家的帮助!亲切的问候!

vae*_*hen 5

根据需要按顺序定义边缘会有所帮助。您的版本1 2 10 11处于相同的排名,因此它们被设置为一个低于另一个。

graph 
{
    rankdir = LR;
    splines = line;

    node[ style = filled, fillcolor = grey91 ];
    1 2 10 11;
    b[ label = "B", fillcolor = blue   ];
    c[ label = "C", fillcolor = yellow ];


    subgraph cluster_1
    {            
        1; 2;
    }
    subgraph cluster_2
    {
        b; c;
    }
    subgraph cluster_3
    {
        color = white       
        10; 11;
    }

    edge[ color = blue ]
    { 1 2 } -- b -- { 10 11 };
    edge[ color = yellow ]
    { 1 2 } -- c -- { 10 11 };
}
Run Code Online (Sandbox Code Playgroud)

产量

在此输入图像描述

  • 在 cluster_3 中我会使用 color = "invis" (2认同)