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

graphviz点:如何将箭头从节点插入箭头的中心,graphviz,dot,Graphviz,Dot,我尝试使用graphviz包中的dot创建MPLUS分析图。有人有使用dot可视化结构方程模型/潜在类混合模型的经验吗?特别是有一个功能我不知道如何做到完美: 我需要从节点到另一个箭头中心的箭头,如 我试图在箭头的交叉处插入一个不可见的节点。然而,这会导致一个“破裂”的a--->B箭头,因为dot将其表示为两个独立的箭头。 这对dot来说是可能的吗 谢谢你的建议和帮助 Gregor以下内容可防止“开裂”箭头。不幸的是,Dot在a->ab和ab->b边之间引入了一个扭结。不知道布局算法会阻止这种情

我尝试使用graphviz包中的dot创建MPLUS分析图。有人有使用dot可视化结构方程模型/潜在类混合模型的经验吗?特别是有一个功能我不知道如何做到完美:

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

我试图在箭头的交叉处插入一个不可见的节点。然而,这会导致一个“破裂”的a--->B箭头,因为dot将其表示为两个独立的箭头。 这对dot来说是可能的吗

谢谢你的建议和帮助

Gregor

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

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

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


以斯宾希尔的答案为基础,摆脱这一纠结:

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

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

  {rank=same; a; ab; b};
}
输出:

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

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

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

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