graphviz dot:如何将箭头从节点插入箭头的中心

时间:2010-09-15 13:26:13

标签: graphviz dot

我尝试使用graphviz包中的点创建MPLUS分析图。有没有人有使用点来显示结构方程模型/潜类混合模型的经验?特别是有一个功能,我无法弄清楚如何做得很漂亮:

我需要从节点到另一个箭头中心的箭头,如

           C
           |
           |
           V
   A ------------> B

我试图在箭头的交叉处插入一个不可见的节点。然而,这导致“破裂的”A ---> B箭头,因为点确实将其表示为两个独立的箭头。 这点甚至可以用点?

感谢您的建议和帮助!

格里

2 个答案:

答案 0 :(得分:10)

以spenthil的答案为基础摆脱纠结:

digraph {
  ab[label="", fixedsize="false", width=0, height=0, shape=none];

  a -> ab[arrowhead=None];
  ab -> b;
  c -> ab;

  {rank=same; a; ab; b};
}

输出:

graphviz output

另一种可能性是使用边缘的weight属性来拉直边缘。

答案 1 :(得分:5)

以下内容可防止“破裂”箭头。不幸的是,Dot在a -> abab->b边缘之间引入了扭结。不知道阻止这种情况的布局算法。

digraph {
  a;
  ab[label="", fixedsize="false", width=0, height=0, shape=none];
  b;
  c;

  a -> ab[arrowhead=None];
  ab -> b;
  c -> ab;
}

输出:

alt text