如何获取具有长标签的节点

时间:2016-11-17 12:37:13

标签: graphviz dot

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

graph without labels

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

graph with labels

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


    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>

1 个答案:

答案 0 :(得分:0)

使用

node[ width = x ];

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

我用过

node[ width = 3 ];

第17行和

node[ width = 2 ];
在你的代码的第45行

得到这个:

enter image description here