Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graphviz 如何让盒子出现在我想要的地方?_Graphviz_Dot_Digraphs - Fatal编程技术网

Graphviz 如何让盒子出现在我想要的地方?

Graphviz 如何让盒子出现在我想要的地方?,graphviz,dot,digraphs,Graphviz,Dot,Digraphs,我希望Openshift和letsencrypt出现在Stage和Prod段下面。现在,它与Prod和Stage细分市场保持一致。排名是解决问题的方法吗 此外,是否有一种方法可以在没有子图的“阶段”标签内获得类似于fe03-osl2-stage和fe04-osl3-stage的结果 <graphviz format="svg"> digraph G { label = "Setup" labelloc = top; node [shape=

我希望Openshift和letsencrypt出现在Stage和Prod段下面。现在,它与Prod和Stage细分市场保持一致。排名是解决问题的方法吗

此外,是否有一种方法可以在没有子图的“阶段”标签内获得类似于fe03-osl2-stage和fe04-osl3-stage的结果

<graphviz format="svg">
digraph G { 
label = "Setup"
labelloc = top;

node [shape=record];
edge [dir=both];

subgraph cluster_0 {
    label = "Internet";

    tcp80 [label="*:80/tcp"];
    tcp443 [label="*:443/tcp"];
    tcp8443 [label="*:8443/tcp"];
}   

subgraph cluster_1 {
    label = "Stage";

    subgraph cluster_1a {
        label= "fe03-osl2-stage";

        "fe03-osl2-stage-haproxy" [label= "HaProxy"]
        "fe03-osl2-stage-varnish" [label= "Varnish"]
    }
    subgraph cluster_1b {
        label= "fe04-osl3-stage";

        "fe04-osl3-stage-haproxy" [label= "HaProxy"]
        "fe04-osl3-stage-varnish" [label= "Varnish"]
    }
} 

subgraph cluster_2 {
    label = "Prod";

    subgraph cluster_2a {
        label= "fe03-osl2-prod";

        "fe03-osl2-prod-haproxy" [label= "HaProxy"]
        "fe03-osl2-prod-varnish" [label= "Varnish"]
    }
    subgraph cluster_2b {
        label= "fe04-osl3-prod";

        "fe04-osl3-prod-haproxy" [label= "HaProxy"]
        "fe04-osl3-prod-varnish" [label= "Varnish"]
    }
}  

subgraph cluster_3 {
    label = "Openshift";

    master0 [label= "master0"]
    master1 [label= "master1"]
    master3 [label= "master3"]
}  

letsencrypt [label= "letsencrypt"]

tcp80 -> "fe03-osl2-stage-haproxy";
tcp443 -> "fe03-osl2-stage-haproxy";
tcp80 -> "fe04-osl3-stage-haproxy";
tcp443 -> "fe04-osl3-stage-haproxy";
tcp8443 -> "fe03-osl2-stage-haproxy";
tcp8443 -> "fe04-osl3-stage-haproxy";

tcp80 -> "fe03-osl2-prod-haproxy";
tcp443 -> "fe03-osl2-prod-haproxy";
tcp80 -> "fe04-osl3-prod-haproxy";
tcp443 -> "fe04-osl3-prod-haproxy";

"fe03-osl2-stage-haproxy" -> "fe03-osl2-stage-varnish";
"fe04-osl3-stage-haproxy" -> "fe04-osl3-stage-varnish";

"fe03-osl2-prod-haproxy" -> "fe03-osl2-prod-varnish";
"fe04-osl3-prod-haproxy" -> "fe04-osl3-prod-varnish";

"fe03-osl2-stage-haproxy" -> letsencrypt;
"fe04-osl3-stage-haproxy" -> letsencrypt;

"fe03-osl2-prod-haproxy" -> letsencrypt;
"fe04-osl3-prod-haproxy" -> letsencrypt;

"fe03-osl2-stage-haproxy" -> master0;
"fe03-osl2-stage-haproxy" -> master1;
"fe03-osl2-stage-haproxy" -> master3;
"fe04-osl3-stage-haproxy" -> master0;
"fe04-osl3-stage-haproxy" -> master1;
"fe04-osl3-stage-haproxy" -> master3;

"fe03-osl2-prod-haproxy" -> master0;
"fe03-osl2-prod-haproxy" -> master1;
"fe03-osl2-prod-haproxy" -> master3;
"fe04-osl3-prod-haproxy" -> master0;
"fe04-osl3-prod-haproxy" -> master1;
"fe04-osl3-prod-haproxy" -> master3;

"fe03-osl2-stage-varnish" -> master0;
"fe03-osl2-stage-varnish" -> master1;
"fe03-osl2-stage-varnish" -> master3;
"fe04-osl3-stage-varnish" -> master0;
"fe04-osl3-stage-varnish" -> master1;
"fe04-osl3-stage-varnish" -> master3;

"fe03-osl2-prod-varnish" -> master0;
"fe03-osl2-prod-varnish" -> master1;
"fe03-osl2-prod-varnish" -> master3;
"fe04-osl3-prod-varnish" -> master0;
"fe04-osl3-prod-varnish" -> master1;
"fe04-osl3-prod-varnish" -> master3;

}
</graphviz>

有向图G{
label=“设置”
labelloc=顶部;
节点[形状=记录];
边[dir=两者];
子图簇0{
label=“互联网”;
tcp80[label=“*:80/tcp”];
tcp443[label=“*:443/tcp”];
tcp8443[label=“*:8443/tcp”];
}   
子图簇1{
label=“Stage”;
子图簇{
label=“fe03-osl2-stage”;
“fe03-osl2-stage-haproxy”[label=“haproxy”]
“fe03-osl2-stage-varnish”[label=“varnish”]
}
子图簇{
label=“fe04-osl3-stage”;
“fe04-osl3-stage-haproxy”[label=“haproxy”]
“fe04-osl3-stage-varnish”[label=“varnish”]
}
} 
子图簇2{
label=“Prod”;
子图簇_2a{
label=“fe03-osl2-prod”;
“fe03-osl2-prod-haproxy”[label=“haproxy”]
“fe03-osl2-prod-varnish”[label=“varnish”]
}
子图簇_2b{
label=“fe04-osl3-prod”;
“fe04-osl3-prod-haproxy”[label=“haproxy”]
“fe04-osl3-prod-varnish”[label=“varnish”]
}
}  
子图簇3{
label=“Openshift”;
master0[label=“master0”]
master1[label=“master1”]
master3[label=“master3”]
}  
letsencrypt[label=“letsencrypt”]
tcp80->“fe03-osl2-stage-haproxy”;
tcp443->“fe03-osl2-stage-haproxy”;
tcp80->“fe04-osl3-stage-haproxy”;
tcp443->“fe04-osl3-stage-haproxy”;
tcp8443->“fe03-osl2-stage-haproxy”;
tcp8443->“fe04-osl3-stage-haproxy”;
tcp80->“fe03-osl2-prod-haproxy”;
tcp443->“fe03-osl2-prod-haproxy”;
tcp80->“fe04-osl3-prod-haproxy”;
tcp443->“fe04-osl3-prod-haproxy”;
“fe03-osl2-stage-haproxy”->“fe03-osl2-stage-varnish”;
“fe04-osl3-stage-haproxy”->“fe04-osl3-stage-varnish”;
“fe03-osl2-prod-haproxy”->“fe03-osl2-prod-清漆”;
“fe04-osl3-prod-haproxy”->“fe04-osl3-prod-清漆”;
“fe03-osl2-stage-haproxy”->letsencrypt;
“fe04-osl3-stage-haproxy”->letsencrypt;
“fe03-osl2-prod-haproxy”->letsencrypt;
“fe04-osl3-prod-haproxy”->letsencrypt;
“fe03-osl2-stage-haproxy”->master0;
“fe03-osl2-stage-haproxy”->master1;
“fe03-osl2-stage-haproxy”->master3;
“fe04-osl3-stage-haproxy”->master0;
“fe04-osl3-stage-haproxy”->master1;
“fe04-osl3-stage-haproxy”->master3;
“fe03-osl2-prod-haproxy”->master0;
“fe03-osl2-prod-haproxy”->master1;
“fe03-osl2-prod-haproxy”->master3;
“fe04-osl3-prod-haproxy”->master0;
“fe04-osl3-prod-haproxy”->master1;
“fe04-osl3-prod-haproxy”->master3;
“fe03-osl2-stage-varnish”->master0;
“fe03-osl2-stage-varnish”->master1;
“fe03-osl2-stage-varnish”->master3;
“fe04-osl3-stage-varnish”->master0;
“fe04-osl3-stage-varnish”->master1;
“fe04-osl3-stage-varnish”->master3;
“fe03-osl2-prod-清漆”->master0;
“fe03-osl2-prod-清漆”->master1;
“fe03-osl2-prod-清漆”->master3;
“fe04-osl3-prod-清漆”->master0;
“fe04-osl3-prod-清漆”->master1;
“fe04-osl3-prod-清漆”->master3;
}
今天的情况是这样的:

看起来,您希望“letsencrypt”处于下一个(较低)级别。使用minlen将实现您想要的:

  "fe03-osl2-stage-haproxy" -> letsencrypt [minlen=2];
我不确定你的第二个要求。您是想消除群集周围的矩形(外围设备=0),还是提出了不同的要求