2013-03-27 15 views
14

私は690,024個のノードと7,398,042個のエッジを持つグラフを持っており、それを視覚化したいと思います。私はgraphvizのドットとゲーファイを使用していますが、両方ともメモリが少ないため終了します。この問題を解決する方法はありますか?大きなグラフを可視化する

+0

どのくらいのRAMがありますか?グラフはどのような形式ですか? –

+0

私は24GBのRAMを持っていますが、現在私のグラフはドット形式ですが、何も変更できません。 – AliBZ

答えて

13

Gephiには、JVMで割り当てられるメモリの量に基づいて制限があります。変更するには、http://gephi.org/users/requirements/をチェックしてください。
Stanford Network Analysis Platform (SNAP)を使用することをお勧めします。
コアSNAPライブラリはC++で書かれており、最大のパフォーマンスとコンパクトなグラフ表現のために最適化されています。
数億のノードと数十億のエッジを持つ大規模なネットワークに簡単に拡張できます。それは、大きなグラフを効率的に操作し、構造的特性を計算し、規則的でランダムなグラフを生成し、ノードおよびエッジ上の属性をサポートする。大きなグラフへのスケーラビリティの他に、グラフやネットワークのノード、エッジ、属性を計算中に動的に変更できることが、SNAPの強みです。

1

Try Tulipソースをダウンロードして再構築したので、Qt SDKをインストールすると簡単です。

編集は、私は、大規模なグラフのgraphvizのプロセッサは、あなたがのためにすべてのエッジ間の関係を視覚化する必要がある場合Hive plotsを検討する必要があります

+0

Tulipは小さなグラフでは問題なく機能しますが、グラフでは1日後にクラッシュします。 – AliBZ

2

(失敗した非常に大きなグラフをロードする)最初の説明を参照してください、sfdpでなければならないことだと思いますこのサイズのグラフノードとエッジが表示されるグラフを作成する必要がある場合は、igraphを試してみてください。これにはPythonとRのインタフェースがあります。私はigraphからRを使っていくつかの非常に大きなグラフを作成しましたが、メモリ要件を思い出すことはできません(これはおそらくデータに依存するでしょう)。

2

ほとんどのブラウザやノートブックでこれを行うには、http://www.github.com/graphistry/pygraphistryをビルドしました。 WebGLを使用して大きなグラフ(パン/ズーム/等)をレンダリングし、リアルタイムコンピューティング(レイアウト、フィルタなど)のほとんどをGPUクラウドにオフロードするというアイデアです。これはGephiやCytoscapeに似ていますが、大きなグラフを拡大してデータ分析を合理化し、Webアプリケーションとノートブック環境に統合することに重点を置いています。

1

LGLは、静的な視覚化のために、このような場合に動作するように使用 - 少なくとも何年か前に:)

http://lgl.sourceforge.net/ http://www.ncbi.nlm.nih.gov/pubmed/15184029?dopt=Abstract

を、私はそれがフィギュア用などに使用:紙で https://static-content.springer.com/image/art%3A10.1186%2F1471-2105-7-276/MediaObjects/12859_2006_Article_1015_Fig2_HTML.jpg

同等の数のノードおよびエッジを有するデータを有する。 http://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-7-276

+0

それは本当にあなたの一種です、若い男。まだ親切で勇敢であなたの本当の名前で私に電子メールを送ってください。私はあなたの論文監督者と話したいと思います。 Pozdrowienia、MichałOkoniewski、ETHチューリッヒ、dr hab。 – MichalO

関連する問題