11

次のプロパティを持つ比較的大きなグラフ (6K ノード、8K エッジ) を視覚化する必要があります。

  • 異なるクラスター。クラスタあたり約 50 ~ 100 ノード、クラスタ レベルで適度な相互接続性
  • クラスタ間の相互接続性は最小限 (クラスタあたり 5 ~ 10 のクラスタ間エッジ)

グローバル エッジ オーバーラップとする = クラスターのグラフを直接視覚化することによって引き起こされるエッジ オーバーラップ = {A、B、C、D、E}、エッジ = {これらのクラスターの五角形。ちなみに非平面であり、確実にエッジを生成します直接引けば重なる』

Local Edge Overlap = 上記としますが、{ A、B、C、D、E } は単なるノードです。

次の要件を満たす方法で、上記のグラフを視覚化する必要があります

  • グローバル エッジ オーバーラップなし (つまり、クラスター間のプロパティによって引き起こされるエッジ オーバーラップは問題ありません)
  • クラスタ内のローカル エッジ オーバーラップは問題ありません

上記の要件でグラフを最適に視覚化する方法について考えている人はいますか?

グローバル エッジのオーバーラップに対処するために私が思いついた 1 つの解決策は、視覚化中にクラスター A が別のクラスター (B) への直接エッジを最大 1 つだけ持つようにすることです。クラスター A -> C、A -> D、... 間の追加のクラスター間エッジは切断され、追加のノード/エッジ A -> A_C、C -> C_A、A -> A_D、D -> D_A...作成されます。

誰にも考えはありますか?

4

6 に答える 6

1

Prefuseには、いくつかの優れたグラフ描画リンクテキストアルゴリズムが組み込まれており、かなり大きなグラフを比較的うまく処理できるようです。Prefuseの上に構築されたフローマップレイアウトを試してみてください。

于 2010-03-02T02:22:29.267 に答える
1

この時点で尋ねるのはばかげているかもしれませんが、http://www.graphviz.org/を試してみましたか?

于 2010-06-16T23:05:17.333 に答える
1

あなたの目的を考えると、Fruchterman-Reingold アルゴリズムは、エッジのオーバーラップを防ぐのにかなり適切な仕事をしていると思います。たとえば、Fruchterman-Reingold アルゴリズムを使用して描画された複数のコンポーネントで構成されるネットワークのこのスクリーンショットを参照してください。IGraphには、このアルゴリズムのサポートが組み込まれており ( Networkxと同様)、非常に高速です。

于 2010-03-05T22:01:13.757 に答える
1

SocialActionと呼ばれる Prefuse の上に構築されたプログラムがあります。作成者にコードを要求する必要がありますが、サブグラフの識別など、グラフに関する多くの統計分析が行われます。18,000 を超えるノードを持つグラフで使用しましたが、そのスケールでは非常に低速ですが、それでも機能します。

于 2010-06-14T23:01:13.957 に答える
0

有機レイアウトは、yFilesフレームワークでかなりよくクラスター化されたグラフを管理します。最初にyEdで試して、必要なことを実行できるかどうかを確認してください。クラスターごとにネストされたグラフエイリアスグループを使用することはおそらく合理的です。有機レイアウトには、グループレイアウトポリシーと呼ばれる機能があります。これは、クラスター間エッジとクラスター内エッジで異なる原則を使用して、インクリメンタルレイアウトでレイアウトを実行する必要がある場合に使用できます。少しの努力で、手作業を避けるためにグラフをGraphMLに変換することができます。

于 2010-06-14T20:20:45.737 に答える
0

グラフ内のクラスターを視覚的に分離することをサポートするグラフ視覚化ツールはあまり見たことがありません。1 つのオプションは、WilmaScopeを調べることです。クラスターベースのレイアウトをサポートしているようです。

于 2010-03-02T04:36:33.350 に答える