ビットマップ画像で視覚化したい大きな有向非巡回グラフがあります。
理想的には、すべてのルート ノードを画像の上部に配置し、すべてのリーフ ノードを下部に配置したいと考えています。つまり、グラフのエッジはすべて下方向を向いています。
これらの制約を満たし、優れた視覚化を生成するすべてのノードの座標を計算するための優れたアルゴリズムはありますか?
ビットマップ画像で視覚化したい大きな有向非巡回グラフがあります。
理想的には、すべてのルート ノードを画像の上部に配置し、すべてのリーフ ノードを下部に配置したいと考えています。つまり、グラフのエッジはすべて下方向を向いています。
これらの制約を満たし、優れた視覚化を生成するすべてのノードの座標を計算するための優れたアルゴリズムはありますか?
Gephiを使用することをお勧めします。
このソフトは、特にグラフのレイアウトなど、やりたいことをすべて実行できます。
Graphvizソフトウェア コレクションを見てください。グラフをレンダリングするためのいくつかのプログラムが含まれています。
最も簡単な方法は、Graphviz のテキスト形式の 1 つでグラフをディスクに書き込むことです。次に、レンダリング プログラムの 1 つを実行し、結果のイメージをアプリケーションにロードします。
ベイジアン ネットワークにも同様の要件があります。ベイジアン ネットワークのアルゴリズムを探すかもしれません。 たとえば、この論文は役立つかもしれません。
私が書いたこの Go パッケージを試すことができます: https://github.com/h8liu/e8tools/tree/master/dagvis