Graphviz: グラフ視覚化ソフトウェア
Graphvizは、
AT&T研究所によって開発されたオープンソースのツールパッケージです。このソフトウェアは、DOT言語というグラフ記述言語を使用して、ノードとエッジから成るネットワーク構造を描画します。また、Graphvizには
アプリケーションソフトウェアがツールを利用できるための
ライブラリも含まれています。自由ソフトウェアとして提供されているGraphvizは、
Eclipse Public Licenseのもとで
ライセンスが適用されています。
アーキテクチャ
Graphvizは、DOT言語を基にしたグラフ描画ツールの集合から成り立っています。これらのツールには、さまざまな機能があり、異なる形式での出力を可能にしています。主要なツールは以下の通りです。
dot
有向グラフを扱い、各種ファイル形式(
PostScript、PDF、SVGなど)へと変換するコマンドラインツールです。
neato
無向グラフをレイアウトするためのツールで、シンプルな形状のグラフに適しています。
twopi
放射状のレイアウトを生成するためにデザインされたツールで、中心から放射状に広がるグラフの視覚化に便利です。
circo
環状のレイアウト用のツールで、特定の構造を強調して表示する際に有効です。
fdp
もう一つの無向グラフ用のレイアウトツールで、デフォルメされた視覚的な表現を提供します。
dotty
GUI(
グラフィカルユーザインタフェース)を提供するツールで、ユーザーがグラフを視覚化しながら直接編集することが可能です。
lefty
プログラム可能なウィジェットを備えており、ユーザーはマウス操作でグラフを描画したり、操作することができます。
Model View Controller型のGUIで使用でき、柔軟な操作性が特徴です。
応用
Graphvizは幅広い応用が可能で、以下のようなツールやプロジェクトに利用されています。
- - lisp2dot: LISPプログラムをDOT言語に変換するツールで、遺伝的プログラミングなどの高度な応用を視野に入れています。
- - Doxygen: C++やJava、Pythonプログラムのドキュメンテーションの一環としてGraphvizを使用し、クラス間の継承関係などを視覚的に描画します。
- - MediaWiki Graphviz Extension: Wiki上でGraphvizを使った描画を可能にする拡張機能です。
- - MoinMoin Wiki GraphViz Extension: こちらもWikiでの利用を想定したGraphvizに関する拡張機能です。
参考文献と外部リンク
Graphvizに関する詳細な情報は、公式ホームページやユーザーガイドで確認できます。以下のリソースが参考になります:
Graphvizは、データの視覚化を簡単に実現できる力強いツールであり、開発者や研究者など多くの人々に利用されています。