2015-06-07 22 views
18

xlp kullanmayı denedim ve bu graphviz iş parçacığını (http://www.graphviz.org/content/how-use-xlp-attribute-positioning-external-labels-xlabel) izledim, ancak aslında işe yaramadı. ' enter image description hereGraphviz grafik konumlandırma xlabels

İdeal başlatmak, hata ve eksiksiz sadece düğümler altında doğrudan olurdu, ama elimden:

Bu benim nokta kodudur:

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

Ve bu neye benzediği Xlabels doğru şekilde yayınlanmış gibi görünüyor.

+0

Ben aynı olması Sorun, aynı zamanda düğümlerin altındaki etiketleri konumlandırmak istiyorum ama nasıl yapılacağı konusunda herhangi bir eğitim ya da herhangi bir şey yok gibi görünüyor. –

+0

Ben xlabels denedim, ama konumlandırma kırılmış gibi görünüyor –

+0

Ben nokta tarafından oluşturulan verilere bakıyordum - ve xlp bilgilerini değiştirerek bir şey yapmak gibi görünmüyor cf. http://www.graphviz.org/content/how-use-xlp-attribute-positioning-external-labels-xlabel Benzer şekilde gerçek poz değerlerini değiştirmek. – Donnied

cevap

9

neato işaretini -n2 işaretiyle kullanırsanız, xlabel konumunu ayarlayabilirsiniz. Yine de, her düğümün konumunu belirtmeniz gerekir. aşağıdaki içeriklere sahip lb.gv adlı bir dosya olsaydı

Yani:

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

Sen ne var yani bu neato -n2 -Tpng lb.gv > test.png

çalıştırabilir:

graphviz

+1

Not: Bu, * her şeyi açıkça ortaya koymanızı sağlar, bu bir acıdır ve yarı, grafviz'in amacını ortadan kaldırır. –

+0

Aynı problemle karşılaşıyorum, her şeyi açık bir şekilde yerleştirmekten kaçınmanın özelliği Hala müsait değil misiniz? – Kumpelka