2012-04-18 14 views
2

ツリーをどのように視覚化するかについて質問があります。今私はgraphvizまたはdot languageを使用していくつかの問題があります。graphviz、画像上のスティックノードの位置

簡単に私の状況について。 私は一連の木を持っています。ステップT-1上のツリーは、いくつかのエッジを追加することによってステップT-1上のツリーから得られる。私は各ツリーの画像を作成したい。 画像ビューアでこれらの画像を表示しています。次のボタンをクリックしていて、ステップT-1からステップTまでのツリーの変化を簡単に表示したいと思います。

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

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

+1

あなたの '.dot'ファイルのいくつかの例を教えてください。 – Maehler

答えて

3

可能です。使用するノードとエッジの属性(座標を含む)はposです。

posの値のいくつかの例を得るには、指定された出力形式を使わずにdotを呼び出すだけです。これにより、座標が追加された.dotファイルが表示されます。
ように、ファイルになりますdot minimal.dotによって処理minimal.dot

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

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属性を持っています。これはあなたを始めるはずです。