web-dev-qa-db-ja.com

Graphvizグラフの配置xlabels

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=" "];
}

そして、これはそれがどのように見えるかです: enter image description here

理想的には、start、fault、completeはノードのすぐ下にありますが、xlabelsを正しく配置できないようです。

23
user1634494

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を実行できます

それは私が得たものです:

graphviz

11
Ivan Chaer