0

aノードを指すノードを表示したいbbサブグラフにあります。次の dot graphviz コードが機能するはずです。

digraph
{
    a;

    subgraph cluster_mysubgraph
    {
        a->b;       
    }
}

残念ながら、ノードaはサブグラフの外側で宣言されていますが、内側でレンダリングされますmysubgraph(Ubuntu 14.04 の graphviz 2.36.0 で観察されます)。

a は b サブグラフにあってはなりません

事前宣言などのバリアントを試しましbた。失敗。

a回避策は、別のクラスター サブグラフで宣言することです。

digraph
{
    subgraph cluster_pseudo
    {
        a;
    }

    subgraph cluster_mysubgraph
    {
        a->b;       
    }
}

これによりa、内部mysubgraphに表示されなくなりますが、別のサブグラフは実際にはオプションではありません。

回避策は独自のサブグラフを配置しますが、良くありません

a実際にはサブグラフの外にある必要があります。

質問

  • こんなはずじゃないの?
  • 意図した外観を維持する回避策はありますか?
4

1 に答える 1

5

次のように動作します。

digraph
{
    a;


    subgraph cluster_mysubgraph
    {
        b;
    }

    a->b;

}

ここに画像の説明を入力

したがって、「サブグラフでノードを宣言し、サブグラフでノードを宣言することに注意してください。ノードがそのサブグラフにアタッチされる傾向があるためです(ノードがすでに別のサブグラフにアタッチされていない限り)」。

そうかもしれませんが、ドット ファイルを生成するときは、1 つのパスでノードとエッジを生成する方が簡単です。の場合は、同じサブグラフでノードとエッジを宣言します。

于 2014-06-11T17:28:51.347 に答える