グラフを描画するためのツールをまとめておきます.他に知っている方は教えてくださると喜びます.
1. Graphviz
DOT言語でグラフを記述してGraphvizでSVGやPDFなどに変換します.様々な描画アルゴリズムが実装されていて,プログラミング言語 Rubyなどからも使用することができます.ただし,インタラクティブにグラフの描画を変更することはできません.ギャラリーを見ると描画後の雰囲気がつかめると思います.Rubyで使用するときに分かりやすいサイトにhp12cさんのサイトがあります.
3. NetworkX : Matplotlib
NetworkXはプログラミング言語Pythonのグラフに関するライブラリです.NetworkX自身はグラフ描画のためのライブラリではありませんが,Matplotlibを用いてグラフ描画を行うことができます.描画方法や機能などはGraphvizに似ています.
4. graph-tool
NetworkXのようにPythonのグラフに関するライブラリです.NetworkXはPythonで実装しており,graph-toolはC++で実装しているために高速のようです.使用したことが無いので詳しいことは言えないのですが良さそうな感じがします.
5. CS academy : Graph Editor
Web上でグラフの描画をインタラクティブに操作できます.CS academyは競技プログラミングのサイトなのですが,よく競技プログラミングで使用されるグラフの入力形式を得ることができます.大規模なグラフを扱うことは難しいのですが,小規模な例を生成したい時に役に立ちます.
6. GRAPH x GRAPH
@monkukui2 さんが作成した Web 上でグラフを描画するサイトです.競技プログラミングに特化した作りになっています.
その他
- グラフの自動描画(Graph Drawing)について : 群馬大学の中野先生によるグラフ描画のまとめサイトです.
- Graph Online : グラフ上の様々なアルゴリズムの結果をアニメーションで表示します.
- Simple Graphs -- from Wolfram MathWorld : グラフ描画とは関係ありませんが様々なグラフクラスの例が示されています.
- Graph3d : iwiwiさんのソフトウェアです.昔は手元で動いたのですが今はなぜか動きません
- Tasuku Somaさんのソフトウェア : 様々なグラフを描画するというよりはグラフ描画のアルゴリズム Force-Directed Graph Drawing をHTML5で実装して,例として4つのグラフを描画したものです