20

私はワシントン大学のCSResearchの学生であり、私のグループは、neo4jグラフDBにリアルタイムで入れられる特定のネットワークトラフィックを視覚化しようとしているところです。

gephi、cytoscape、rickshaw(D3.jsに基づく)、その他のツール、D3.jsなどのさまざまなツールについて読んだことがあります。

これまでのところD3.jsを使用していますが、コミュニティの意見を聞きたいと思っていました。neo4jのためにcytoscapeを使用することはできず、D3.jsは高速のリアルタイム環境でセミラージデータを使用するのに最適であると感じています。

提案?

おそらく別の質問ですが、自由に入力してください:neo4jを実装するための最良の方法は?Java、Ruby、node.js?

ありがとうございました!

4

4 に答える 4

14

この種の問題に対する特効薬の解決策はなく、ほとんどの場合、あなたが何をしようとしているのか、チーム、そしてあなたが持っている(お金と時間の)予算に依存します。

次のいずれかに会わなければならない場合を除いて、D3はお勧めしません。

  • データを視覚化するためのまったく新しい方法を作成したい
  • あなたのチームには熟練した人々がいます-それはあなたかもしれません-D3で
  • 統合する他のD3ウィジェット/vizがすでにあります

上記のいずれのエントリも満たしていない場合は、D3を横に置いて、次の項目を確認するように指示します。

  • SigmaJS、オープンソースおよび無料のJavascriptライブラリ。
  • KeyLines、商用Javascriptツールキット。
  • VivaGraphJS、オープンソースおよび無料のJSライブラリ。

免責事項:私はKeyLines開発者の1人です。

持っているデータのサイズに応じて、ライブラリの選択は変わる可能性があります。チャートに3/400ノードしかなく、特定のスタイル/アニメーションを必要としない場合は、SigmaJSで十分だと思います。スタイリングやアニメーションのより高度なものを探している場合は、KeyLinesをお勧めします。これは、この種の状況を処理するように設計されており(インクリメンタルレイアウトを提供)、問題なく2000ノードまでスケールアップできるためです。このサイズの側面にフィルターがあります。

最後の手段としてVivaGraphを挙げます。SigmaJSにはWebGLレンダラーもあり、より優れたレンダリングIMHOを提供します。VivaGraphJSは、レンダリングに不可知論的なアプローチを使用するngraph
にまもなく置き換えられます。PIXI、Fabric、または任意のものを使用できます。

WebGLレンダラーを使用することは、アセットを一度ロードして常に再利用する場合に意味があります。リアルタイムシナリオでチャート要素をスタイリングする場合、CanvasIMHOには利点がありません。

于 2014-05-07T16:08:45.200 に答える
9

私の理解:Gephiはリアルタイムの更新ではうまくいきません。通常、静的データで使用されます。

1つの主要な考慮事項-提示したい視覚化は何ですか?有向グラフですか?サイクリック?加重?追加のラベル?

一部のツールキットは、表示できるものが「固定」されていますが、グラフの表示が簡単になります。その他(d3など)は非常に拡張性が高いため、ほぼすべてのものを作成できます。

StackOverflow形式の目的で、システムの制限とニーズ(実際のデータレート、シン/シッククライアント、vizのタイプなど)を特定できれば、より良い回答が得られる可能性があります。

于 2013-02-14T17:21:18.357 に答える
9

レンダリングにwebglを使用し、大規模なネットワークでも非常に適切にスケーリングするvivagraphを確認してください。彼らは本当に大きなもの(FB、Amazon)のいくつかの良い例を持っています。

http://github.com/anvaka/VivaGraphJS

于 2013-02-20T08:04:45.737 に答える
7

D3は素晴らしいと思いますが、最近、FOSDEMでSigma.jsについての講演があり、より大きなグラフの方がスケールが優れていると説明されています。http://thewhyaxis.info/hairball/も参照してください

于 2013-02-14T16:43:47.350 に答える