kengo92iの日記

プログラミングとかやったことの記録を書いていきます。

Graphvizを使ってグラフ図を作成する[DOT言語]

グラフ構造を定義するDOT言語を使ってグラフ図を作成して,画像出力する方法です.

DOT言語

DOT言語はグラフ構造を定義するデータ記述言語です(DOT言語 - Wikipedia).DOT言語自体にはグラフ構造を画像出力する機能はないので,Graphvizというツールを使用します.

インストール

Graphvizの公式サイト(http://graphviz.org)からpkgファイルをダウンロードするか,MacPortsなどのパッケージ管理システムを使用します.今回はMacPortsを使ってインストールします.

$ sudo port install graphviz
$ which dot
/opt/local/bin/dot

インストールが成功していれば,上記のように出力されると思います.

グラフを描画してみる

とりあえず,DOT言語で書かれたデータを画像ファイルに出力してみます.以下の内容で,sample.dotというファイルを作成して下さい.

digraph sample {
	A [label="A"];
	B [label="B"];
	C [label="C"];
	D [label="D", shape=box];

	A -> B -> C;
	B -> A;
	B -> D [color=red];	
}

上記のファイルを作成したディレクトリで,以下のコマンドをターミナルに入力します.

$ dot -Tpng sample.dot -o sample.png;

sample.pngという名前でPNG形式のグラフ図が出力されています.

f:id:kengo92i:20150930121033p:plain

また,-Tjpg, -Tpdfとすることで,JPG形式やPDF形式でも出力することが出来ます.グラフ図を作成するときには非常に便利です.