Graphviz 节点的XLabel与点中的边重叠

Graphviz 节点的XLabel与点中的边重叠,graphviz,dot,Graphviz,Dot,我尝试使用点来绘制图形,但我有以下问题 节点b的标签与从a到b的边重叠。有没有办法移动这个标签来避免这种情况 这是我用来生成图像的代码(使用dot) 这种情况经常发生,而且很烦人(这里也一样,但有边缘): 我知道这是因为xlabels是在所有东西都布置好之后才放置的,但我想知道是否有可能对其有所帮助,即说它需要放置标签的位置 您不能这样做——您想提供xlabel的位置信息,但graphviz目前(2016-01-25)不允许这样做。graphviz bug跟踪器中有一个用于此功能的错误跟踪器

我尝试使用点来绘制图形,但我有以下问题

节点
b
的标签与从
a
b
的边重叠。有没有办法移动这个标签来避免这种情况

这是我用来生成图像的代码(使用
dot

这种情况经常发生,而且很烦人(这里也一样,但有边缘):

我知道这是因为
xlabel
s是在所有东西都布置好之后才放置的,但我想知道是否有可能对其有所帮助,即说它需要放置标签的位置

您不能这样做——您想提供xlabel的位置信息,但graphviz目前(2016-01-25)不允许这样做。graphviz bug跟踪器中有一个用于此功能的错误跟踪器;它被描述为:

这基本上是一个允许用户为XLabel提供位置信息的特性请求。对于附加到节点的XLabel,坐标应相对于节点位置。对于边缘的头部和尾部标签,也可以使用类似的功能。我想边的xlabel可以基于边的“中心”


您用于生成绘图的命令是什么?目前可以使用
neato-n2
定位所有内容,但随后必须明确放置所有内容,这是一件痛苦的事情,并且有一半违背了graphviz的目的……事实上,这几乎完全违背了graphviz的目的。这就像说“你可以用这辆破汽车从纽约到洛杉矶,你只需要自己开车就行了”。
digraph A {
  rankdir=LR;
  center=true; margin=0.3; 
  nodesep=1.5; ranksep=0.5;

  node [shape=point,  height=".2", width=".2"];

  a [xlabel="a"];
  b [xlabel="b"];
  c [xlabel="c"];
  a -> b -> c;
  a -> c;
}