如何让长标签的节点排成一行

How to get nodes with long labels in line

我是 graphviz 的新手,我正在尝试获取以下图形

graph without labels

但是当我想添加标签时,第一个簇内的布局被破坏了。 如果我更改约束,第一个集群中的布局就像它应该的那样,但是从第一个集群到节点 D 的边缘会发生变化。这是带有示例标签的图像

graph with labels

这是带有标签的图表的代码,作为新手我可能包含了一些冗余代码:


    有向字母名称 {
    图 [字体大小=10 字体名称="Verdana" 复合=真];
    { 排名=相同;
    0 [样式=隐形];<br>
    01 [样式 = 隐形];
        02 [样式=隐形];
       0-> 01 -> 02 [style=invis];
    }</p>

子图 cluster1 {
复合=真;
字体大小 = 20;
标签 = "ooooooooooo oooooooo";
一个[标签="aaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaa"];
{排名="same";
B [标签="bbbbbbbbbb"];
C [标签="cccccccccccc"];
0;
01;}

{排名="same";
边缘 [style=invis];
B1 [标签="b1b1b1b1 b1\nb1b1b1b1b1b1b1b1b1"];
C1 [样式=隐形];}

{排名="same";
边缘 [style=invis];
B2 [标签="b2b2b2b2b2 b2b2b2\nb2b2b2b2b2"];
C2 [样式=隐形];}

A->B;
0->B [style=invis];
B->B1 [组=g1];
B1->B2 [组=g1];
A->C;
01->C [group=g2 style=invis];
C->C1 [group=g2 style=invis];
C1->C2 [group=g2 style=invis];
风格 = "dashed";
}

子图 cluster2 {
风格=隐形
{等级=相同;
D [标签="ddddddd dddd"];
D1 [标签="d1d1d1"];
D2 [标签="d2d2d2d2d2d"];
D3 [标签="d3d3d3 d3d3d3d"];
02;}
02 -> D [样式=不可见];
D - > D1;
D1 -> D2;
D2 -> D3;
}

// 集群之间的边缘
C -> D [ltail=cluster1 约束=false];
}
</代码></pre>

使用

node[ width = x ];

其中 x 是适合您的标签的数字。

我用过

node[ width = 3 ];

第 17 行和

node[ width = 2 ];

在您的代码的第 45 行获取此内容: