テキストファイルから様々なダイアグラムを作成する - GraphViz 編
ノード

GraphViz のノード

GraphViz の図はノードとエッジで構成されています。下の図を見てください。

ソースファイル

上図の「黄門様ご一行」と書かれた八角形と「悪代官's」と書かれた長方形がノードです。また「この紋所が目に入らぬか!!」と書かれた矢印がエッジです。

GraphViz は以下のノードを描くことができます。

ソースファイル

ノードの書き方は以下のように書きます。

node_ID [shape="形状", label="表示テキスト", ....];

例えば「黄門様ご一行」と書かれた最初の八角形の例であれば以下のように書きます。

n01 [shape=doubleoctagon, label="黄門様ご一行"];

ここで n01 というノード ID をつけていますが、これは後でノードとノードをエッジでつなげるときに使います。

ノード ID は別のノード ID とダブってはいけません。ノード ID はノードを区別するためのノード固有の ID になります。他のノードと被ると GraphViz はそれらのノードの区別ができなくなってしまいます。

ノードの形状には "doubleoctagon" を指定し、表示する文字列には "黄門様ご一行" を指定しています。

"黄門様ご一行" ノードのみのダイアグラムを描く場合は以下のようにします。

graph example {
	n01 [shape=doubleoctagon, label="黄門様ご一行"];
}

それでは実際にダイアグラム化してみましょう。上記ソースファイル名を "nodes0003.gv" とした場合、以下のように GraphViz を実行します。GraphViz の実行ファイル名は dot です。

dot -Tsvg nodes0003.gv -o nodes0003.svg

生成されるダイアグラムは下図のようになります。

ソースファイル

もし描きたいノードが ellipse でエッジが不要な場合だと、もっと簡単にソースファイルを書くことができます。

graph example {
	"黄門様ご一行";
}

生成されるダイアグラムは下図のようになります。

ソースファイル

ソースファイルで「黄門様ご一行」という文字列をダブルコーテーションでくくっていますが、この文字列にはスペースが含まれていないので実はダブルコーテーションも不要です。

ノードは背景色を変えたり文字色を変えたりもできます。その方法については後述します。