我是graphviz的新手,我正在尝试获取以下图片
但是,当我想添加标签时,第一个集群内的布局将被销毁。 如果我更改约束,则第一个集群中的布局就像它应该的那样,但是从第一个集群到节点D的边缘会发生变化。这里带有示例标签的图像
以下是带有标签的图表的代码,作为新手,我可能包含了一些冗余代码:
digraph Name {
graph [fontsize=10 fontname="Verdana" compound=true];
{ rank=same;
0 [style=invis];
01 [style = invis];
02 [style=invis];
0-> 01 -> 02 [style=invis];
}
subgraph cluster1 {
compound=true ;
fontsize = 20;
label = "ooooooooooo oooooooo";
A [label="aaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaa"];
{rank="same";
B [label="bbbbbbbbbb"];
C [label="cccccccccccc"];
0;
01;}
{rank="same";
edge [style=invis];
B1 [label="b1b1b1b1 b1\nb1b1b1b1b1b1b1b1b1"];
C1 [style=invis];}
{rank="same";
edge [style=invis];
B2 [label="b2b2b2b2b2 b2b2b2\nb2b2b2b2b2"];
C2 [style=invis];}
A->B ;
0->B [style=invis];
B->B1 [group=g1];
B1->B2 [group=g1];
A->C ;
01->C [group=g2 style=invis];
C->C1 [group=g2 style=invis];
C1->C2 [group=g2 style=invis];
style = "dashed";
}
subgraph cluster2 {
style=invis
{rank=same;
D [label="ddddddd dddd"];
D1 [label="d1d1d1"];
D2 [label="d2d2d2d2d2d"];
D3 [label="d3d3d3 d3d3d3d"];
02;}
02 -> D [style=invis];
D -> D1;
D1 -> D2;
D2 -> D3;
}
// edges between clusters
C -> D [ ltail=cluster1 constraint=false];
}
</code></pre>