1

2つのエッジが重なっていますが、理由がわかりません。

digraph G {
    graph [rankdir=LR, overlap=false];
    subgraph cluster1 {
       d1;
       n1;
    }
    subgraph cluster2 {
       n2;
       d2;
    }
    n1 -> n2;
    n2 -> n1;
    d0 -> d1;
    d0 -> d2;
}

ここに画像の説明を入力してください

両方のエッジn1 -> n2n2 -> n1別々に表示する方法はありますか?クラスターを削除することはオプションではありませんが、役立つでしょう...

4

2 に答える 2

4

portPos修飾子を使用するソリューション:

digraph G {
    graph [rankdir=LR, overlap=false];
    subgraph cluster1 {
       d1;
       n1;
    }
    subgraph cluster2 {
       n2;
       d2;
    }
    n1:sw -> n2:nw;
    n2:ne -> n1:se;
    d0 -> d1;
    d0 -> d2;
}

別の解決策は、dirおよびcolor修飾子を利用することです。

digraph G {
    graph [rankdir=LR, overlap=false];
    subgraph cluster1 {
       d1;
       n1;
    }
    subgraph cluster2 {
       n2;
       d2;
    }
    n2 -> n1[dir=both color="red:blue"];
    d0 -> d1;
    d0 -> d2;
}

color="black:black"白黒の配色を維持したい場合にも使用できます。

于 2012-03-23T20:08:08.977 に答える
3

試行錯誤の解決策(なぜこれが機能するのか私に聞かないでください...):

digraph G {
    graph [rankdir=LR, overlap=false];
    subgraph cluster1 {
       d1;
       n1;
    }
    subgraph cluster2 {
       n2;
       d2;
    }
    n1 -> n2;
    n1 -> n2[constraint=false, dir=back];
    n2 -> n1[style=invis];
    d0 -> d1;
    d0 -> d2;
}

graphviz出力

于 2012-03-25T20:12:37.700 に答える