2016-04-06 33 views
1

現在、XとYを直接接続する矢印を除いて、私にとってはうまく見えるこのプロットがあります。 enter image description hereGraphviz、2つのノードの間に矢印の中心を合わせる(直線にする)方法は?

これは、矢印が中央にある場所を描画したいプロットです。真ん中に目に見えないノードを作成する方法がありましたが、私はそれが簡単にできると思うので。ここで

enter image description here

私のコードです:

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

答えて

2

Graphvizのは、ノードが同じグループに属している場合、ランク方向に直線上のノードを維持しようとします。

enter image description here

あなたは十分かもしれないスプラインを設定する直線を持つようにしたい場合は

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

関連する問題