如何在GraphViz中使用splines ="curved"设置边缘的弯曲方向?(使用neato)

Chr*_*isM 6 dot graphviz neato

我正在创建一个带有手动定位节点的图形,并在它们之间使用splines ="curved"类型的边.

digraph graphname {
  splines="curved";
  node[shape = box, margin="0.03,0.03", fontsize=11, height=0.1, width=0.1,  fixedsize=false];

  "LeftFoot\nRightHand" [pos="-150,-150!"];
  "RightFoot\nRightHand" [pos="-90,-150!"];
  "LeftFoot\nRightFoot" [pos="0,-150!"];
  ...

  edge[style = solid,fontsize=11];
  "LeftFoot\nRightFoot":n -> "RightFoot\nRightHand":n [label = "3", penwidth = 1, color = "red"];
  "LeftFoot\nRightFoot":s -> "LeftFoot\nRightHand":s [label = "7", penwidth = 1, color = "red"];
  ...
}
Run Code Online (Sandbox Code Playgroud)

问题是其中一条边弯曲到错误的一侧,因此它通过一个节点: 图表截图

有没有一种简单的方法可以解决这个问题,例如TikZ中的"向左弯曲"或"向右弯曲"?

我试图在边缘上使用pos属性来设置样条控制点来改变弯曲,但是这似乎根本不会改变边缘.

Saa*_*kke 1

在 Graphvhiz 中,2.38这似乎是固定的。我pos稍微缩放了一些,但保留了其余的代码:

点源:

digraph graphname {
  splines="curved";
  node[shape = box, margin="0.03,0.03", fontsize=11, height=0.1, width=0.1,  fixedsize=false];

  "LeftFoot\nRightHand" [pos="-2,-2!"];
  "RightFoot\nRightHand" [pos="-1.2,-2!"];
  "LeftFoot\nRightFoot" [pos="0,-2!"];

  edge[style = solid,fontsize=11];
  "LeftFoot\nRightFoot":n -> "RightFoot\nRightHand":n [label = "3", penwidth = 1, color = "red"];
  "LeftFoot\nRightFoot":s -> "LeftFoot\nRightHand":s [label = "7", penwidth = 1, color = "red"];

}
Run Code Online (Sandbox Code Playgroud)

命令:

digraph graphname {
  splines="curved";
  node[shape = box, margin="0.03,0.03", fontsize=11, height=0.1, width=0.1,  fixedsize=false];

  "LeftFoot\nRightHand" [pos="-2,-2!"];
  "RightFoot\nRightHand" [pos="-1.2,-2!"];
  "LeftFoot\nRightFoot" [pos="0,-2!"];

  edge[style = solid,fontsize=11];
  "LeftFoot\nRightFoot":n -> "RightFoot\nRightHand":n [label = "3", penwidth = 1, color = "red"];
  "LeftFoot\nRightFoot":s -> "LeftFoot\nRightHand":s [label = "7", penwidth = 1, color = "red"];

}
Run Code Online (Sandbox Code Playgroud)

输出:
在此输入图像描述