私は巨大なグラフを視覚化するのが大好きです(これは趣味です: http://anvaka.github.io/pm/ )。ただし、夜間に目を覚まし続ける1つの問題は、そのようなグラフでのデータの過負荷です。
すべての接続をグラフ内にレンダリングすると、混乱の毛玉ができます。
Xピクセルよりもリンクが短い接続のみをレンダリングすると、混乱を減らすことができます。
これは、小さいグラフ(200k
ノード未満)で機能しますが、大きいグラフ(1,000k
ノードを超える)では、ノード自体がグラフに過負荷をかけ、ホワイトノイズのように見えます。
(ここで最後のグラフを見ることができます: Github Followers )
私はこの時点でやや必死で、非常に一般的な質問をします。大きなグラフでデータの過負荷を回避するために何を使用することをお勧めしますか?
おお、かなり。
ええ、まあ、毛玉(あなたが示したこの種の巨大なグラフ)は判読できないのでほとんど役に立ちません。ゲノム学者やバイオインフォマティシャンは、データセットが問題を実証するのに十分な大きさであるため、これを初期の段階で発見しました。
いいえ、3Dを追加しても原因にはなりません。
毛玉の解は ハイブプロット です。
Mike Bostockの D3でのHiveプロットの作成に関するガイド も参照してください。
ディスプレイ上の既存のパン/ズーム以外の選択肢は、マウスポインターの周りにローカルフォーカス+コンテキストレンズを導入して、現在の関心領域を整理/拡大することです。しかし、あなたが言及しているデータセットのサイズでは、データ自体の集約やフィルタリングを検討する必要があるかもしれません-100万ピクセルのディスプレイ上の100万ノードのグラフは、乱雑にしか見えません。
ノードに固有の階層構造がある場合(またはそれらの上にそのような構造を生成できる場合)にノードを集約し、クラスター化されたグラフを作成します。これは、クラスター化のいくつかのレイヤーにノードが表示された再帰的なクラスター化です(実際の例では、ローカルクラスターと考えます) ->銀河->星座->個別に開始すると、アイデアがわかります)-これにより、リンクも自然に集約されます
ノードのフィルター-重要度の高いノードのみを表示する(リンクのない)程度または中心性のメジャー、またはノードがある場合はタイプでフィルターします。例で行ったように、特定のプロパティでリンクをフィルタリングします(多くの場合、「長い」ものが興味深いものですが、2D表現の距離はデータ空間の距離の概算です)
これらをインタラクティブにするのが最善ですが、グラフのサイズが大きいため、計算が瞬時に行われない場合があります...
Gephiのようなパッケージがノードとリンクのフィルター/対策のアイデアのために何をするかを見てください
グラフで何が伝えられているかという問題に取り組む必要があると思います。特定の興味深い観察をポイントしたい場合、それらをマークするか、または同じものを強調するために個別のグラフを生成することは、注意を引くための1つの方法かもしれません。
このようなグラフは視覚的に魅力的に見えますが、洞察を生成するプロセスは困難な場合があります。
ユーザーに表示内容を制御できるようにすると、ユーザーは関連する視覚化を行うのに役立ちます。
免責事項:非専門家からの非常にランダムなアイデア
大きなグラフによるデータの過負荷を避けるために何を使用することをお勧めしますか?
大きなグラフの成功した視覚化を見てみます。
ここにいくつかあります:
私が思う他のこと:
dhh
donのような大きな中央ノードさえあるかもしれません見せない他の人が言ったように、それはあなたが達成したいことに依存します。 3Dフォースレイアウトに非常に多くのノードとエッジが重なっているため、特に「ホワイトノイズ」効果を強調しているので、これに焦点を当てます。
別のレイアウトを使用することをお勧めします。力指向のレイアウトは、中央に向かってノード密度が高くなる傾向があり、3Dでは、密な質量が、見ている他のノードの下または上にあり、密度を合成します。 1つの解決策は、より均一なレイアウトにすることだと思います。
2つのステップのプロセスを使用する1つのソリューションを次に示します。
コミュニティ構造を検出するためにニューマンの高速アルゴリズムのようなものを使用して、ノードの密集したクラスターを自動的に検出します。以下は、そのアルゴリズムを実装するSocialActionのスクリーンショットです。
グループインボックスレイアウトアルゴリズムを使用して密なノードクラスターをレイアウトします。3Dアスペクトを保持する場合は、クラスターに単純な3次ツリーマップレイアウトを使用します。以下は、Chattervediらの論文「Group-in-a-Box meta-トポロジークラスターと属性ベースのグループのレイアウト:ネットワークコミュニティとそのつながりのスペース効率の良い視覚化 ": 力指向のレイアウトの中央に高密度があり、それがグループインボックスレイアウトでは存在しないことに注意してください。
このような手法を使用すると、ノードはレイアウトスペース内でより均一に分散され、ノードは接続されている他のノードに近くなる傾向があります。これにより、ノードとエッジの両方の視覚的な重なりを減らすことで、「ホワイトノイズ」と「ヘアボール」の影響を減らすことができます。