0
我真的很感谢你对我想要的图表的帮助。我想从一个起始集群为其他许多集群提供标签,而这些集群又应该组织成多行。GraphViz - 在多行中创建集群簇
直到这一刻我写了下面的代码:
digraph g{
rankdir="TB";
compound=true;
subgraph cluster0{
label="Cluster 0";
a0->b0;
b0->c0;
a0->c0;
}
subgraph cluster1{
label="Cluster 1";
a1->b1;
b1->c1;
a1->c1;
}
subgraph cluster2{
label="Cluster 2";
a2->b2;
b2->c2;
a2->c2;
}
subgraph cluster3{
label="Cluster 3";
a3->b3;
b3->c3;
a3->c3;
}
subgraph cluster4{
label="Cluster 4";
a4->b4;
b4->c4;
a4->c4;
}
a0->a1 [ltail=cluster0,lhead=cluster1];
a0->a2 [ltail=cluster0,lhead=cluster2];
a0->a3 [ltail=cluster0,lhead=cluster3];
a0->a4 [ltail=cluster0,lhead=cluster4];
}
尽管此代码生成我的集群和适当的互连他们,遗憾的是所有的集群(即集群1,2,3和4)在而我希望群集1和群集2位于一行,群集3和群集4位于另一行,恰好位于包含群集1和群集2的行的下方。
虽然群集是使用不可见链接组织在一起,它们没有正确对齐(列),而且内部节点序列似乎纠结(见例如,稍微更复杂的情况下,我想标记4为总是在顶部,其中剩余的节点1,2和3应该被放置在相应的顺序从左至右)的节点以下
digraph g {
compound=true;
fontname=Helvetica
page="8.5,11";
size="135";
overlap=false;
subgraph cluster0 {
"start-0" [ label = "4" ];
"n1-0" [ label = "1" ];
"start-0" -> "n1-0" ;
"n2-0" [ label = "2" ];
"start-0" -> "n2-0" ;
"n3-0" [ label = "3" ];
"start-0" -> "n3-0" ;
subgraph 00 { rank = same; "n1-0" "n2-0" "n3-0" }
}
subgraph cluster1 {
"start-1" [ label = "4" ];
"n1-1" [ label = "1" ];
"start-1" -> "n1-1" ;
"n2-1" [ label = "2" ];
"start-1" -> "n2-1" ;
"n3-1" [ label = "3" ];
"start-1" -> "n3-1" ;
subgraph 01 { rank = same; "n1-1" "n2-1" "n3-1" }
}
"start-0" -> "start-1" [ltail=cluster0,lhead=cluster1];
subgraph cluster2 {
"start-2" [ label = "4" ];
"n1-2" [ label = "1" ];
"start-2" -> "n1-2" ;
"n2-2" [ label = "2" ];
"start-2" -> "n2-2" ;
"n3-2" [ label = "3" ];
"start-2" -> "n3-2" ;
subgraph 02 { rank = same; "n1-2" "n2-2" "n3-2" }
}
"start-0" -> "start-2" [ltail=cluster0,lhead=cluster2];
subgraph cluster3 {
"start-3" [ label = "4" ];
"n1-3" [ label = "1" ];
"start-3" -> "n1-3" ;
"n2-3" [ label = "2" ];
"start-3" -> "n2-3" ;
"n3-3" [ label = "3" ];
"start-3" -> "n3-3" ;
subgraph 03 { rank = same; "n1-3" "n2-3" "n3-3" }
}
"start-0" -> "start-3" [ltail=cluster0,lhead=cluster3];
subgraph cluster4 {
"start-4" [ label = "4" ];
"n1-4" [ label = "1" ];
"start-4" -> "n1-4" ;
"n2-4" [ label = "2" ];
"start-4" -> "n2-4" ;
"n3-4" [ label = "3" ];
"start-4" -> "n3-4" ;
subgraph 04 { rank = same; "n1-4" "n2-4" "n3-4" }
}
"start-0" -> "start-4" [ltail=cluster0,lhead=cluster4];
subgraph cluster5 {
"start-5" [ label = "4" ];
"n1-5" [ label = "1" ];
"start-5" -> "n1-5" ;
"n2-5" [ label = "2" ];
"start-5" -> "n2-5" ;
"n3-5" [ label = "3" ];
"start-5" -> "n3-5" ;
subgraph 05 { rank = same; "n1-5" "n2-5" "n3-5" }
}
"start-0" -> "start-5" [ltail=cluster0,lhead=cluster5];
subgraph cluster6 {
"start-6" [ label = "4" ];
"n1-6" [ label = "1" ];
"start-6" -> "n1-6" ;
"n2-6" [ label = "2" ];
"start-6" -> "n2-6" ;
"n3-6" [ label = "3" ];
"start-6" -> "n3-6" ;
subgraph 06 { rank = same; "n1-6" "n2-6" "n3-6" }
}
"start-0" -> "start-6" [ltail=cluster0,lhead=cluster6];
subgraph cluster7 {
"start-7" [ label = "4" ];
"n1-7" [ label = "1" ];
"start-7" -> "n1-7" ;
"n2-7" [ label = "2" ];
"start-7" -> "n2-7" ;
"n3-7" [ label = "3" ];
"start-7" -> "n3-7" ;
subgraph 07 { rank = same; "n1-7" "n2-7" "n3-7" }
}
"start-0" -> "start-7" [ltail=cluster0,lhead=cluster7];
subgraph cluster8 {
"start-8" [ label = "4" ];
"n1-8" [ label = "1" ];
"start-8" -> "n1-8" ;
"n2-8" [ label = "2" ];
"start-8" -> "n2-8" ;
"n3-8" [ label = "3" ];
"start-8" -> "n3-8" ;
subgraph 08 { rank = same; "n1-8" "n2-8" "n3-8" }
}
"start-0" -> "start-8" [ltail=cluster0,lhead=cluster8];
subgraph cluster9 {
"start-9" [ label = "4" ];
"n1-9" [ label = "1" ];
"start-9" -> "n1-9" ;
"n2-9" [ label = "2" ];
"start-9" -> "n2-9" ;
"n3-9" [ label = "3" ];
"start-9" -> "n3-9" ;
subgraph 09 { rank = same; "n1-9" "n2-9" "n3-9" }
}
"start-0" -> "start-9" [ltail=cluster0,lhead=cluster9];
subgraph cluster10 {
"start-10" [ label = "4" ];
"n1-10" [ label = "1" ];
"start-10" -> "n1-10" ;
"n2-10" [ label = "2" ];
"start-10" -> "n2-10" ;
"n3-10" [ label = "3" ];
"start-10" -> "n3-10" ;
subgraph 010 { rank = same; "n1-10" "n2-10" "n3-10" }
}
"start-0" -> "start-10" [ltail=cluster0,lhead=cluster10];
"n1-0" -> "start-1" [style=invis];
"n1-0" -> "start-2" [style=invis];
"n1-0" -> "start-3" [style=invis];
"n1-0" -> "start-4" [style=invis];
"n1-0" -> "start-5" [style=invis];
"n3-1" -> "start-6" [style=invis];
"n3-2" -> "start-7" [style=invis];
"n3-3" -> "start-8" [style=invis];
"n3-4" -> "start-9" [style=invis];
"n3-5" -> "start-10" [style=invis];
}
是否有任何方式,我可以实现使用点?
非常感谢您的帮助提前!
非常感谢您的回复。请参阅我的帖子的编辑,以防您可以提供进一步的帮助。 –