2009-06-02 11 views
38

私は、「言語Xのための良いネットワークグラフライブラリとは何ですか?」という質問が繰り返されていることに気付きました。私はかなりの図書館で遊んだことがあり、私はあなたとの経験を共有することができます。言語Xのネットワークグラフライブラリは何ですか?

PythonのNetworkXが組み込まれている可視化の強力なライブラリですが、またpyGraphvizを使用してGraphvizへのインタフェースを持っています。 (pyGraphvizとNetworkXは同じ著者によって書かれています)。 NetworkXはオープンソースで非常に使いやすいです。

は、PerlCircosは、ゲノムおよび他の非常に複雑なデータセットを可視化するために開発されました。それは常に円形レイアウトを使用しますが、あなたのネットワークが本当に大きく、 'モジュール性'スコアが低い場合は、しばしば最も適切なレイアウトです。 Circosはオープンソースです。

ネットNodeXLは、Microsoft Researchが開発したもので、Excel用のアドオンと.NET 3.5のライブラリです。 (Microsoftの標準のために)かなり開いており、視覚化のためにFruchterman-Reingoldアルゴリズムを使用しています。

Java: が最近リリースされ、また堅牢なライブラリです。拡張された視覚化と主要なメトリクスをサポートしています。 JUNG2はオープンソースです。

UbiGraphUbiGraphは、Pythonなどの異なる言語へのインタフェースを有し、(そしてNetworkXがUbiGraphをサポートしている)、ルビー、PHP、Java(登録商標)、C、C++、C#、ハスケル、およびOCamlの。 XML-RPCサーバーを使用して、ネットワークグラフの非常にきれいな3D視覚化を実現しています。基本的なバージョンは無料です、あなたはプロのバージョンを支払う必要があります。

スタンドアロン:Graphviz(ウィン、Linuxでは、OSX)、Pajek(勝利)、UCINET(勝つ)、あるいはVisioの(勝利):あなたはいつものような既製のパッケージを使用することができ

さらに多くのパッケージがあると確信していますが、これは私が自分で使ったものです。他にどのようなライブラリやパッケージがありますか?

+0

これは質問です。あなたはここに質問を述べておらず、ちょうどリストです。これをコミュニティウィキにしないと、それは確かに "not-a-question"として閉じられるでしょう – lothar

+0

seconded - not-a-question –

+1

「他にはありますか?それの終わりに...あなたの質問があります。 ;) – John

答えて

0

this pageの例が好きなら、Mathematicaのgraph plottingの機能をご覧ください。ギャラリーページの著者、Yifan HuはWolfram Researchで働き、巨大なグラフのグラフ描画アルゴリズムを開発していました。これらのアルゴリズムはMathematicaに統合されました。どのようにグラフ描画を使用するかによって、Mathematicaを使ってグラフを分析することができます。例えば、blog postを参照してください。

1

Javaでは、プリフューズははるかに優れたグラフ描画パッケージです。これは、非常に高速の力指向のレイアウトアルゴリズムを備えています。リアルタイムでパラメータを微調整し、ノードをドラッグしてグラフを望みどおりに見せることができるので、どんなグラフよりも大きなグラフを探索して配置することができます非対話型システム。あなたはPythonのリストにgraph-toolを追加する必要があります

このdemo appletを試してみてください、あなたはあまりにもそれと恋に落ちるよ...

8

。これは非常に完成しており、Boost Graph Libraryを使ってC++で実装されているため、NetworkXなどのPython専用のものよりもはるかに高速です。

免責事項:私はgraph-toolの作成者です。 :-)

2

Clojureについては、loomがあります。そのWIPは良く見える。

2

Stanford Network Analysis Project(SNAP)はC++で書かれており、大きなデータセットを解析するためのパフォーマンスを考慮して設計されています。このプロジェクトはPythonライブラリで拡張されており、包括的なドキュメントがあります。

また、このプロジェクトはさまざまなドメインのempirical data setsの優れたリソースです。

0

yFilesは、幅広い範囲の異なる自動化された洗練されたレイアウトスタイルを提供するレイアウトアルゴリズムスイートです。これは商用サービスであり、いくつかの一般的なプラットフォームと言語(Javascript、Java、C#など)で利用できます。

interactive online demo that shows many of the available algorithmsがあり、ライブラリを無料で評価することができます。

免責事項:私はこれらのライブラリを作成する会社で働いていますが、私は雇用主ではありません。この勧告は私自身の意見に基づいています。私は過去15年の間に上記の言語のための多くの異なるレイアウトスイートの実装を見てきましたが、私はこれと同様に完全で拡張可能な他の実装を知りません。

関連する問題