Graphviz(neato)标签重叠边缘问题

Posted

技术标签:

【中文标题】Graphviz(neato)标签重叠边缘问题【英文标题】:Graphviz (neato) label overlaps edge problem 【发布时间】:2022-01-08 10:00:04 【问题描述】:

我有一个用 graphviz(neato) 生成的简单网络:

  digraph G
      edge [len = 1.5, fontcolor=blue];
      0 -> 1 [label="0/8"];
      0 -> 2 [label="0/7"];
      1 -> 3 [label="0/6"];
      2 -> 1 [label="0/2"];
      2 -> 4 [label="0/7"];
      3 -> 2 [label="0/5"];
      3 -> 5 [label="0/10"];
      4 -> 3 [label="0/4"];
      4 -> 5 [label="0/2"];
  

此代码生成: network

如您所见,0 -> 1(3->2 和 4->5 也是)边缘的标签与边缘重叠。有什么办法可以避免吗? 我已经更改了 len 和 fontcolor 来形成对比,但这仍然不能令人满意。

【问题讨论】:

欢迎使用 ***。我推荐taking the tour,以及阅读how to ask a good question 和what's on topic。 【参考方案1】:
    您也可以尝试使用 dot。我认为它为这个输入生成了一个更具可读性的图表。 (旁观者的眼睛) 和/或:
在标签文本的开头和/或结尾添加空格 使用头标或尾标 (https://graphviz.org/docs/attrs/headlabel/)
digraph G
      edge [len = 1.5, fontcolor=blue];
      0 -> 1 [label="0/8"];
      0 -> 2 [label="0/7 "];
      1 -> 3 [taillabel="  0/6"];
      2 -> 1 [label="0/2"];
      2 -> 4 [headlabel="0/7  "];
      3 -> 2 [label="0/5 "];
      3 -> 5 [label="0/10"];
      4 -> 3 [label="0/4"];
      4 -> 5 [label="0/2  "];
  

【讨论】:

以上是关于Graphviz(neato)标签重叠边缘问题的主要内容,如果未能解决你的问题,请参考以下文章

DOT/graphviz 边缘标签中的下标

graphviz dot:文本(标签)使用与箭头(边缘)相同的角度,而不是默认的水平

Graphviz安装配置教程(图文详解)

标记外部节点,与networkx中的其他节点/边缘重叠最小

Graphviz:如何插入两个新的链接节点并最小化边缘交叉?

Graphviz 中的隐藏边