如何在graphviz中给图形节点固定位置以及如何使边缘不重叠?

ais*_*siy 2 graphviz

我在这里看到了一些类似的问题,但答案并没有解决我的问题.

我想绘制一个图表.我写了一些像这样的代码:

digraph {
  {rank = same a b c d e f }
  a -> b -> c -> d -> e -> f
  a -> f
  b -> d -> f
  b -> f
}
Run Code Online (Sandbox Code Playgroud)

但结果是一些边缘相互重叠.

所以我的问题是如何修复边缘使其不重叠,我也想知道如何给节点一个固定的位置?这张图没有问题.但有时候我想要一个带有序列的图形

a b c d e f 
Run Code Online (Sandbox Code Playgroud)

但是当我创建一些边缘并且序列将改变如下:

a->e b c d f
Run Code Online (Sandbox Code Playgroud)

dgw*_*dgw 8

您可以使用pos节点或边的属性来指定坐标.要查看dot节点和边缘的位置,只需在dot myinputfile.dot没有任何输出参数的情况下运行.这将生成带有添加坐标(以及其他添加项)的点文件.
基于此,您可以强制dot将某些或所有节点放置在某个坐标处.