如何在Graphviz中允许重叠的边缘?

11

背景

我正在使用Graphviz创建组织结构图。

问题

默认情况下,dot创建以下图表:

Default Output

所需的输出将边缘组合在一起,使它们重叠,并带有肘连接:

Desired Output

源码

以下源代码生成了有问题的图表:

digraph G {
  splines = ortho;
  concentrate = true;

  node [shape="box", style="rounded", penwidth = 2];
  edge [color="#142b30", arrowhead="vee", penwidth = 2];

  {
    rank = same
    "1";
    "2";
    "3";
    "4";
  }

  "Main Node" -> "1";
  "Main Node" -> "2";
  "Main Node" -> "3";
  "Main Node" -> "4";

  {
    rank = same
    "5";
    "6";
    "7";
  }

  "1" -> "5";
  "1" -> "6";
  "1" -> "7";
}

问题

如何使用dot在曼哈顿布局中创建正交的肘部连接边缘?

想法

我已经尝试过各种不同的sametailtailport的组合,但都没有成功。


与@marapet的答案类似,您可以从https://dev59.com/iHA65IYBdhLWcg3wogEb中获取灵感,插入箭头从一个节点到箭头的中心。 - Stéphane Gourichon
1个回答

9

创建“肘接”边缘只有通过插入不可见的(“虚拟的”)节点才能实现。

有关详细信息,请参见类似问题的答案


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接