2016-04-06 14 views
1

Şu anda, X ve Y'yi doğrudan bağlayan ok haricinde benim için iyi görünen bu arsaya sahibim. Daha iyi bir yolu olup olmadığınıGraphviz, İki düğüm arasında oku (düz bir çizgi) nasıl ortalarsınız?

Bu enter image description here ben ok merkezinde yaklaşık nerede çizmek istiyorum arsa, ben ortada görünmez bir düğüm oluşturmak için olan bir çözümü vardı, ama sadece merak, Çünkü rahatlıkla yapılabiliyor. İşte

enter image description here

benim kodlardır:

digraph{ 
     graph [rankdir=LR] 
     node [shape = plaintext] 
     {rank=same; X1;X2;X3;X4;X5} 
     X -> X1 -> Y; 
     X -> X2 -> Y; 
     X -> X3 -> Y; 
     X -> Y; 
     X -> X4[dir=back]; 
     X -> X5[dir=back]; 
     X4 -> Y; 
     X5 -> Y;} 

cevap

2

Graphviz düğümleri aynı gruba ait olmadığını rütbe yönünde düz bir çizgi üzerinde düğümleri tutmaya çalışır.

enter image description here

yeterli olabilir spline ayar düz çizgiler yapmak istiyorsanız

digraph{ 
    graph [rankdir=LR] 
    node [shape = plaintext] 
    X1;X2;X3 
    X[group=mid_straight]; 
    Y[group=mid_straight]; 
    X4;X5; 
    X -> X1 -> Y; 
    X -> X2 -> Y; 
    X -> X3 -> Y; 
    X -> Y; 
    X -> X4[dir=back]; 
    X -> X5[dir=back]; 
    X4 -> Y; 
    X5 -> Y; 
} 

digraph{ 
    graph [rankdir=LR splines=line] 
    node [shape = plaintext] 
    {rank=same; X1;X2;X3;X4;X5} 
    X -> X1 -> Y; 
    X -> X2 -> Y; 
    X -> X3 -> Y; 
    X -> Y; 
    X -> X4[dir=back]; 
    X -> X5[dir=back]; 
    X4 -> Y; 
    X5 -> Y; 
} 

enter image description here

İlgili konular