2015-06-07 16 views
18

Próbowałem używać xlp, a także śledziłem ten wątek grafviz (http://www.graphviz.org/content/how-use-xlp-attribute-positioning-external-labels-xlabel), ale żaden z nich nie zadziałał.Wykres pozycjonowania wykresu Graphviz

To jest mój kod kropka:

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

I to właśnie wygląda: enter image description here

Najlepiej zacząć, winy, i kompletne będzie tylko bezpośrednio w węzłach, ale nie mogę” t wydaje się poprawnie pozycjonować xlabele.

+0

Mam dokładnie to samo problem, chcę również umieścić etykiety pod węzłami, ale wydaje się, że nie ma samouczka ani nic takiego, jak to zrobić. –

+0

Próbowałem xlabels, ale ich pozycjonowanie wydaje się być zepsute –

+0

Przeglądałem dane generowane przez kropkę - i zmiana informacji xlp nie wydaje się robić cf. http://www.graphviz.org/content/how-use-xlp-attribute-positioning-external-labels-xlabel Podobnie jak przy zmianie rzeczywistych wartości POS. – Donnied

Odpowiedz

9

Jeśli użyjesz neato z flagą -n2, powinieneś być w stanie ustawić pozycję xlabel. Musisz jednak określić położenie każdego węzła.

Więc jeśli miał plik o nazwie lb.gv o następującej treści:

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; 
} 

Można uruchomić neato -n2 -Tpng lb.gv > test.png

To co mam:

graphviz

+1

Uwaga: to * zmusza * ciebie do umieszczenia wszystkiego jawnie, co jest bólem, i pół pokonuje cel graphviz. –

+0

Mam do czynienia z tym samym problemem, wydaje się, że cechą, której należy unikać, aby umieścić wszystko jawnie jest wciąż nie są dostępne? – Kumpelka

Powiązane problemy