【问题标题】:Graphviz Selfloops overlap labelsGraphviz Selfloops 重叠标签
【发布时间】:2015-08-20 09:43:12
【问题描述】:

我有一个简单的 graphiz 图,我正在尝试用 dot 进行渲染。它是单个状态上的一系列自循环:

digraph FST {
size = "8.5,11";
label = "";
rankdir=LR;
bgcolor = "transparent";
center = 1;
rank = same;
margin = 0;
orientation = Portrait;
0 [label = "0", shape = doublecircle, style = bold, fontsize = 14, color="#339933"]
    0 -> 0 [label = "a", fontsize = 14];
    0 -> 0 [label = "b", fontsize = 14];
    0 -> 0 [label = "cd", fontsize = 14];
    0 -> 0 [label = "efg", fontsize = 14];
    0 -> 0 [label = "a", fontsize = 14];
    0 -> 0 [label = "q", fontsize = 14];
    0 -> 0 [label = "xyzabc", fontsize = 14];
}

我这样编译:

 $ cat self-loop.dot | dot -Tpng > self-loop.png

然而,边缘与标签重叠,看起来很荒谬。有什么方法可以防止边缘这样做吗?让他们更加爆发?

Resulting Graph

我没有运气搜索论坛或 graphviz 文档。

【问题讨论】:

    标签: layout graphviz dot


    【解决方案1】:

    多循环很痛苦。使用端口 (https://www.graphviz.org/doc/info/attrs.html#k:portPos) 会有所帮助。 bur rankdir 也有问题,所以我改了。

    digraph FST {
    size = "8.5,11";
    label = "";
    //rankdir=LR;  // note the change in rankdir!!
    bgcolor = "transparent";
    center = 1;
    rank = same;
    margin = 0;
    orientation = Portrait;
    0 [label = "0", shape = doublecircle, style = bold, fontsize = 14, color="#339933"]
        0:nw -> 0:ne [label = "a", fontsize = 14];
        0:nw -> 0:ne [label = "\nb", fontsize = 14];
        0:nw -> 0:ne [label = "\ncd", fontsize = 14];
        0:nw -> 0:ne [label = "\nefg  ", fontsize = 14];
        0:nw -> 0:ne [label = "  a  ", fontsize = 14];
        0:nw -> 0:ne [label = "  q  ", fontsize = 14];
        0:nw -> 0:ne [label = "xyzabc", fontsize = 14];
    }
    

    捐赠:

    【讨论】:

      猜你喜欢
      • 2017-06-17
      • 1970-01-01
      • 2022-01-08
      • 2020-06-16
      • 2010-10-24
      • 1970-01-01
      • 2014-09-18
      • 2012-08-29
      • 1970-01-01
      相关资源
      最近更新 更多