Graphviz图定位XLabel

Graphviz图定位XLabel,graphviz,Graphviz,我尝试过使用xlp,也遵循了这个graphviz线程(),但两者都没有真正起作用 这是我的点号: digraph { forcelabels=true; rankdir=LR; graph[ranksep=1,nodesep=.5]; node[shape=box]; "start" [xlabel="start",xlp="0,0",shape=doublecircle,label=" "]; "requested"->"fault";

我尝试过使用xlp,也遵循了这个graphviz线程(),但两者都没有真正起作用

这是我的点号:

digraph {
    forcelabels=true;
    rankdir=LR;
    graph[ranksep=1,nodesep=.5];
    node[shape=box];
    "start" [xlabel="start",xlp="0,0",shape=doublecircle,label=" "];
    "requested"->"fault";
    "requested"->"progress";
    "start"->"requested";
    "progress"->"fault";
    "progress"->"progress";
    "progress"->"complete";
    "fault" [xlabel="fault",shape=doublecircle,label=" "];
    "complete" [xlabel="complete",shape=doublecircle,label=" "];
}
这就是它看起来的样子:


理想情况下,启动、故障和完成将直接位于节点下方,但我似乎无法正确定位xlabel。

如果使用带有
-n2
标志的
neato
,您应该能够设置
xlabel
的位置。不过,您需要指定每个节点的位置

因此,如果您有一个名为
lb.gv
的文件,其中包含以下内容:

digraph{
    forcelabels=true;
    rankdir=LR;
    graph[ranksep=1,nodesep=.5,margin=0.3,bgcolor=Transparent];

    node[shape=box];
    start [pos="0,0", xlp="23,54", xlabel=start, shape=doublecircle, label= " "];
    requested [pos="100,0"];
    progress [pos="250,-66"];
    fault [pos="400,70", xlp="424,124", xlabel=fault, shape=doublecircle,label= " "];
    complete [pos="400,-66", xlp="424,-10", xlabel=complete, shape=doublecircle,label= " "];
    requested->fault;
    requested->progress;
    start->requested;
    progress->fault;
    progress:w->progress:_;
    progress->complete;
}
您可以运行
neato-n2-tpnglb.gv>test.png

这就是我得到的:


我也有同样的问题,我也想在节点下放置标签,但似乎没有关于如何放置标签的教程或任何内容。我尝试了XLabel,但是他们的定位似乎被打破了。我一直在查看dot生成的数据,更改xlp信息似乎没有任何作用。同样,更改实际的pos值。我意识到这一评论对聚会来说太晚了(事情可能已经改变了)但它在属性表中指出:
xlp NE point write only
。然后,在该表上方,它表示:“只写表示该属性用于输出,并且没有被任何布局程序使用或读取”,这解释了为什么设置它不起任何作用。注意:这迫使您显式地放置所有内容,这是一件痛苦的事,并且有一半违背了graphviz的目的。@CiroSantilli烏坎事件2016六四事件法轮功 那真是一件令人沮丧的事。这就是为什么它有一个开放的功能请求票证:我面临着同样的问题,似乎避免显式放置所有内容的功能仍然不可用?@IvanChaer功能请求现在和现在都可用