2

木をどのように視覚化するかについて質問があります。今、私はgraphvizまたはドット言語を使用していますが、いくつか問題があります。

私の文脈について簡単に。私は一連の木を持っています。ステップTのツリーは、いくつかのエッジを追加することにより、ステップT-1のツリーから取得されます。木ごとに画像を作成したい。これらの画像を画像ビューアで表示しているときに、[次へ]ボタンをクリックして、ステップT-1からステップTまでのツリーの変化を簡単に確認したいと思います。

私が今していること。各グラフの画像を作成するための「ドット」コードを作成するスクリプトを作成しました。画像ビューアの「次へ」ボタンをクリックすると、ノードがどのようにジャンプするかがわかります。しかし、私はそれが好きではありません。ノードが各画像の同じ場所にとどまるようにしたいのですが、私が見たい唯一の変更は、新しいエッジと新しいノードがどのように表示されるかです。

ノードをその位置に固定する方法はありますか?

4

1 に答える 1

3

可能です。使用する必要のあるノードとエッジのpos属性(座標を含む)があります。

あなたの値のいくつかの例を取得するには、指定された出力形式なしでpos簡単に呼び出すことができます。dotこれにより、.dot座標が追加されたファイルが作成されます。
だからファイルminimal.dot

digraph G {
  a [label="Node A"];
  b [label="Node B"];
  a -> b;
}

によって処理されるdot minimal.dotと、次のようになります。

digraph G {
  node [label="\N"];
  graph [bb="0,0,82,108"];
  a [label="Node A", pos="41,90", width="1.14", height="0.50"];
  b [label="Node B", pos="41,18", width="1.14", height="0.50"];
  a -> b [pos="e,41,36 41,72 41,64 41,55 41,46"];
}

これで、エッジと各ノードにpos属性があります。これで始められるはずです。

于 2012-04-19T08:51:31.870 に答える