質問
ビットマップ画像で視覚化したい大きな監督された非環式グラフがあります。
理想的には、すべてのルートノードを画像の上部に置き、下部のすべてのリーフノード、つまりグラフエッジはすべて下向きの方向に向かっています。
これらの制約を満たし、適切な視覚化を生成するすべてのノードの座標を解決するための優れたアルゴリズムはありますか?
解決
使用することをお勧めします ゲフィ.
このソフトは、あなたが望むすべてのこと、特にグラフレイアウトを行うことができます!
他のヒント
を見てください Graphviz ソフトウェアコレクション。グラフをレンダリングするためのいくつかのプログラムが含まれています。
最も簡単な方法は、GraphVizのテキスト形式の1つで、グラフをディスクに書き込むことです。次に、レンダリングプログラムの1つを実行し、結果の画像をアプリケーションにロードします。
ベイジアンネットワークには同様の要件があります。ベイジアンネットワークのアルゴリズムを探すことができます。 この紙 たとえば、役立つかもしれません。
階層化されたグラフ図(「階層グラフ図」または「杉山スタイルのグラフ図」とも呼ばれる)に興味があるかもしれません。アルゴリズムはここで説明するには長すぎますが、Googleの検索では多くの信頼できる説明が表示されます。
あなたは私が書いたこのGOパッケージを試すことができます: https://github.com/h8liu/e8tools/tree/master/dagvis
所属していません StackOverflow