我尝试过使用xlp并且也遵循了这个graphviz线程(http://www.graphviz.org/content/how-use-xlp-attribute-positioning-external-labels-xlabel),但实际上都没有。
这是我的点代码:
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=" "];
}
这就是它的样子:
理想情况下,start,fault和complete将直接位于节点之下,但我似乎无法正确定位xlabels。
答案 0 :(得分:10)
如果您将neato
与-n2
标记一起使用,则应该可以设置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 -Tpng lb.gv > test.png
这就是我得到的: