2013-09-02 25 views
5

最近、私はNeo4jからグラフを視覚化できるいくつかのライブラリーを検討しましたが、選択する明確なビューは得られなかったので、分かち合いたいと考えています。Neo4jグラフ可視化ライブラリー

私の要件と要望 - サイファークエリを使用してREST APIを検索した後、すべての関係、ノードを持つグラフを視覚化します。結果をインタラクティブにする - ドラッグ&ドロップで、クリック時の他のノード/リレーを明らかにする機会。ノードをjsonデータでインポートし、少なくとも400個以上の要素を素早く表示することができます。

だから私は、多かれ少なかれ探求さらにライブラリ:

Three.js - 主に3Dのために。

Arbor.js(私は3Dを必要としない場合は、より良い、このいずれかを選択しない) - 描画は、あなたに任せて、主にレイアウトライブラリ

VivaGraphJS - 使いやすいが、ほとんどのドキュメント:(

D3.js - 正常に見えるが、SVG

Cytoscape.jsを使用しています - 正常に見えるが、私は、私はのNeo4jでそれを使用することができないことを読ん

Processing.jsなぜIs D3.js the right choice for real-time visualization of Neo4j Graph DB data - 。?それはだ持っていますJavaに似た自分の言語です。私はあまりJava-lではありません。 Ike言語(まだ)。

そして私はカップルの質問があります。

1)をいただきました!あなたの経験 - ライブラリのメリット、weaknesesを?

2)私はSVGのインスタントのキャンバスを使用したいと思いますか? (画面上に小さな要素がたくさんあります)。

3)Arborはレイアウト用の特別なライブラリですが、他のレイアウトアルゴリズムはありませんか?

私はすべての意見を感謝します! :-)

+2

9月5日にグラフの視覚化に関するウェブセミナーがあります:http://info.neotechnology.com/0905-linkurious-register.html [これがSOルールに準拠しているかどうかわからない場合は、このコメントを削除してください] –

+1

SVGを使用しないようにする必要はありません。何故ですか。 –

+0

私が心配している限り、大きなグラフのレンダリングでは、キャンバスを選択する方が良いです。 (様々なフォーラムから読む)。 –

答えて

1

私はあなたはそれが(example)非常に便利であるように見てみたい場合があり、そのリスト内sigma.js

が表示されていないあなたは何とか受信したデータのレンダリングを処理する必要があります(つまり、データ構造からその視覚的表現に移行します)、これはそのビジュアライゼーションで何を表示しようとしているのか、どのようにしたいのか、どのように見えるようにするのかによって異なります。

出発点として、私はD3とSigmaに行きます。

4

私は同様の状況を熟考しました。私はsigma.jsを選んだ。

1)あなたの経験は何ですか - 利点、弱点?

sigma.jsはグラフのレンダリングに固有です。 d3は視覚化のためのツールボックスのフルです。私はグラフを描きたいので、簡潔なsigma.jsインターフェースは使いやすくなりました。私はこれがthe videoだと思っています。ここでは、sigma.jsがインクリメンタルレンダリングを実行し、より優れたパフォーマンスを発揮し、より多くの頂点/エッジをスムーズに処理する方法についてクリエイターが語ります。

2)私はSVGのcanvas instedを使用したいと思いますか?(画面上に小さな 要素がたくさんあります)。

sigma.jsがキャンバスにレンダリングされます。

ここにはsigma.js examplesがあります。 「ノードを隠す」の例は、マウスのやりとりを示しています。さらに、node.jsで書かれた非常に少ない量のデータマッサージコードを使って、neo4j w/sigmaを簡単に統合する方法を示すblog postがあります。これを任意のサーバー言語に移植するのは簡単です。

0

Gephiがあなたのリストにないことに気づきます。スタンドアロンのビジュアライザー/エディターとして、私が使っている最高のもの(あなたはneo4jプラグインを手に入れて、データベースのソースファイルをインポートし、それを見られるようにします)。オープンソースでもあり、プロジェクトの一部として組み込むことができます。

+0

私はGephiを試しましたが、エッジやノードに制限があります(おそらく両方、覚えていない):(D3.jsで終わった:) –

0

グラフビジュアライゼーションライブラリのファミリはyFilesファミリーです。

ifのJavaScriptバリアントは、CanvasとSVGの両方を使用します。これにより、非常に優れたパフォーマンスと高品質のビジュアライゼーションを同時に実現できます。髪の毛のようなグラフ(何千もの点や線、おそらくテキストはありません)の場合、Canvasを使用できます。実際に拡大してデータを実際に理解するには、SVGを使用して、ラベル、アイコン、データ両方のテクニックを同じビジュアライゼーションで同時に使用することもできます。同時に、両方の世界の最高から恩恵を受けます(demo)。

yfilesをNeo4jに接続することは簡単ですusing the JavaScript Bolt driver

ビューで400個の要素を基準にするとよいでしょう。大きなグラフは本当に素敵に見える傾向がありますが、ほとんどの場合、「ヘアボール」を見て多くの洞察を得ることはありません。これらのほとんど芸術的な視覚化は、すべて非常によく似ています。多くの場合、「ヘアボールグラフ」クエリの最初のGoogle画像検索ヒットを示す静的画像を表示することができます:-)

探索、フィルタリング、グループ化、ネスティング、およびダイナミックインタラクションビューアアプリケーションに追加する必要があります。これをどのように実装できるかは、ビジュアライゼーションのビジネスドメインに大きく依存しますが、一般的なグラフでは機能する一般的なアプローチはごくわずかです。

免責事項:私は上記の可視化ライブラリを作成する会社のために働いています。私はそれを表すわけではありません。

関連する問題