1

我的图表有很长的节点标签。Neato 使事物重叠;Circo 做了我想要的,它只是在节点之间创建了太多的空间。我想使用 Circo 结果并将节点靠得更近。

图码:https ://clbin.com/BbsNP

digraph {
graph [overlap=scale];
graph [bgcolor=white];
node [shape=box];
0 [label="long node label"
  ,shape=box];
1 [label="long node label"
  ,shape=box];
2 [label="aoeu aoe uaoeu oae ueaoo"
  ,shape=box];
3 [label="long node labelau"
  ,shape=box];
4 [label="aoeu aoe uaoeu oae ueaooeu"
  ,shape=box];
5 [label="long node labelaoeu"
  ,shape=box];
6 [label="aoeu aoe uaoeu oae ueaoe"
  ,shape=box];
7 [label="long node labelaoeuo"
  ,shape=box];
8 [label="aoeu aoe uaoeu oae ueao"
  ,shape=box];
9 [label="234 aoeua",shape=box];
10 [label="long node labeluu"
   ,shape=box];
11 [label="aoeu aoe uaoeu oae ueao"
   ,shape=box];
12 [label=oeuaoeu,shape=box];
13 [label="long node labelaa"
   ,shape=box];
14 [label="aoeu aoe uaoeu oae ueao"
   ,shape=box];
15 [label=aoeu,shape=box];
16 [label=aoeu,shape=box];
0 -> 1 [color=blue];
1 -> 0 [color=blue];
2 -> 1 [color=blue];
3 -> 0 [color=blue];
4 -> 3 [color=blue];
5 -> 0 [color=blue];
6 -> 5 [color=blue];
7 -> 0 [color=blue];
8 -> 7 [color=blue];
9 -> 7 [color=blue];
10 -> 0 [color=blue];
11 -> 10 [color=blue];
12 -> 10 [color=blue];
13 -> 0 [color=blue];
14 -> 13 [color=blue];
15 -> 13 [color=blue];
16 -> 13 [color=blue];
}

图片: http: //postimage.org/image/mrcak2021/

circo -T jpg Test.Layout.LongNodeLabel.dot > Test.Layou.LongNodeLabel.jpg
4

1 回答 1

1

这个问题类似于这个最近的问题。如果您愿意使用twopi而不是circo,您可以设置ranksep拉入或推出节点 - 以更改“同心圆的径向分离”,如文档所述。

我将您的图形代码更改为这样开始:

digraph {
    graph [bgcolor=white, overlap=true, ranksep=2.75];

然后使用twopi:绘制它twopi test_graph.txt -Tpng -otest_graph.png。这将产生以下图表:

使用 twopi 绘制图形

以下是原作对比:

使用 circo 绘制图形

于 2012-12-10T02:23:04.877 回答