【问题标题】:Graphviz subgraphs orderGraphviz 子图顺序
【发布时间】:2017-10-14 10:14:51
【问题描述】:

我正在尝试使用点创建图形网络。和Graphiz。

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

  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]

}

这是我得到的:

这是我想要获得的:

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

提前感谢大家的帮助! 亲切的问候!

【问题讨论】:

    标签: graphviz dot


    【解决方案1】:

    根据需要按顺序定义边缘会有所帮助。您的版本将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 };
    }
    

    产量

    【讨论】:

    • 你好@vaettchen,效果很好!非常感谢您的宝贵时间和帮助!
    • 在 cluster_3 中我会使用 color = "invis"
    猜你喜欢
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多