3

ツリーのレイアウトは非常に優れています...ツリーにとっては。ファンインで木を配置しています。私が検討している2つの異なるアプローチを次に示します。

  • 複数の親を持つ子からエッジを任意に削除して、DAG を「ツリー化」します。ツリー レイアウトを使用して頂点を配置する場所を決定し、エッジを元に戻すだけです。このアプローチの欠点は、結果がうまくレイアウトされない可能性があることです。たとえば、ファンイン レイアウトを使用してツリーを表示するのは簡単です。兄弟ノードの順序を並べ替えると、その埋め込みが平面になるかどうかが決まります。
  • 強制指向のレイアウトでトリッキーなことをする - たとえば、その埋め込みを取り、すべての子ノードを下に回転させて (中国の扇子を折りたたむように)、ツリーのように見えるようにします。

この問題について誰かコメントやアドバイスはありますか? どちらのアプローチですか?

ありがとう!

4

1 に答える 1

4

ここで、JavaScript で有向グラフを描画するプロジェクトに取り組んでいます: https://github.com/cpettitt/dagre。これには、D3 での使用方法を示すいくつかの例が含まれています。ここでデモを見つけることができます。これは、このアプローチがニーズに対応するかどうかを理解するのに役立ちます。

http://cpettitt.github.com/project/dagre/latest/demo/demo-d3.html

http://cpettitt.github.com/project/dagre/latest/demo/demo.html

http://cpettitt.github.com/project/dagre/latest/demo/demo-d3-large.html

于 2013-01-16T23:42:28.043 に答える