オープンソースのグラフ描画ツール Graphviz を試す
Graphviz はAT&Tが開発しているオープンソースのグラフ生成ツール。グラフはdotという独自言語で記述しする。psやgifなどさまざまなフォーマットで出力することができる。Doxygenの中ではクラス図の生成に使用されている。
dotファイル自体はシンプルなテキストなので、いろいろと応用できそう。学生時代だったら確率モデルの実験結果の可視化に使っただろう。
シンプルなdotファイルはこんな感じ:
digraph G { a -> b -> c; a -> c; a -> d; }
これを、sample.dot のようなファイル名で保存して、
dot -Tpng sample.dot -o sample.png
とすると、こんなファイルが生成される。とても簡単。
もちろん、色・線の太さ・フォント・ノードの形状などの指定も可能。公式サイトのサイトGalleryを見ると、生成したグラフのサンプルととソースが公開されている。なお、dot言語の仕様についてはこのあたりが参考になる。
メモ:
- 先頭に node [shape = record, height = .1]; のような記述をすることで、デフォルトのスタイルを定義できる
- ラベル中の改行は「\n」
- 「shape = record」のとき、ラベル内に「|」を記述すると領域を分割することができる-このとき、label= "{a | b | c}"のように{}で囲んだ場合、領域は縦に分割される
- 日本語を出力するためには、ファイルをutf-8で保存し、フォントを指定する必要がある