如何让长标签的节点排成一行
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 行获取此内容:
我是 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 行获取此内容: