DOT言語の練習 [1] 全体の描画
次の DOT スクリプトを修正しながら試してみる。
属性: rankdir、size
記述例: graph [rankdir = LR, size = "4"];
rankdir はグラフの方向を示す。値は、TB(下向き、デフォルト)、BT(上向き)、LR(右向き)、RL(左向き)のいずれか。
size は表示領域のサイズで、単位はインチ。本来は「size = "4, 6"」など幅と高さを指定するが、dot コマンドが不要な領域を適当に切り縮めてしまう。ここでは幅だけ指定した。また、fontsize で文字の大きさを指定できるが、これも dot の判断が優先される。
上のプログラムからできる図は次の通り。
属性: bgcolor
記述例: graph [bgcolor = "#ffff00"];
bgcolor は背景色を示す。値は RGB の場合 # に続く6ケタの16進数で指定する。ほかに RGBA、HSV の記法もある。また、red、yellow などの色名で指定することもできる(色名一覧 - Color Names)。
属性: pad
記述例: graph [pad = 1];
pad はグラフ周囲の余白を示す。単位はインチ。
pad を指定しなくても、見苦しくない最小限の余白は自動的に付けられる。
キーワード: subgraph
記述例: subgraph cluster0 {
label = 御三家;
color = orange;
bgcolor = orange;
尾張家;
紀州家;
水戸家;
}
キーワード subgraph を使ってグラフの中にグラフを作ることができる。
このグラフ内グラフ(サブグラフ)には、外側のグラフと別にラベルや枠線、背景色を設定できる。
サブグラフの名前は、通常「cluster」ではじまる名前とする。それ以外の名前だと、ラベルや色の指定が無視される。
digraph Tree {
graph [rankdir = LR, size = "4"];
家康 -> 信康;
家康 -> 秀忠;
秀忠 -> 千姫;
秀忠 -> 家光;
家光 -> 家綱;
家綱 -> 綱吉;
家光 -> 綱吉;
家康 -> 義直;
義直 -> 尾張家;
家康 -> 頼宣;
頼宣 -> 紀州家;
家康 -> 頼房;
頼房 -> 水戸家;
}
graph [rankdir = LR, size = "4"];
家康 -> 信康;
家康 -> 秀忠;
秀忠 -> 千姫;
秀忠 -> 家光;
家光 -> 家綱;
家綱 -> 綱吉;
家光 -> 綱吉;
家康 -> 義直;
義直 -> 尾張家;
家康 -> 頼宣;
頼宣 -> 紀州家;
家康 -> 頼房;
頼房 -> 水戸家;
}
属性: rankdir、size
記述例: graph [rankdir = LR, size = "4"];
rankdir はグラフの方向を示す。値は、TB(下向き、デフォルト)、BT(上向き)、LR(右向き)、RL(左向き)のいずれか。
size は表示領域のサイズで、単位はインチ。本来は「size = "4, 6"」など幅と高さを指定するが、dot コマンドが不要な領域を適当に切り縮めてしまう。ここでは幅だけ指定した。また、fontsize で文字の大きさを指定できるが、これも dot の判断が優先される。
上のプログラムからできる図は次の通り。
属性: bgcolor
記述例: graph [bgcolor = "#ffff00"];
bgcolor は背景色を示す。値は RGB の場合 # に続く6ケタの16進数で指定する。ほかに RGBA、HSV の記法もある。また、red、yellow などの色名で指定することもできる(色名一覧 - Color Names)。
属性: pad
記述例: graph [pad = 1];
pad はグラフ周囲の余白を示す。単位はインチ。
pad を指定しなくても、見苦しくない最小限の余白は自動的に付けられる。
キーワード: subgraph
記述例: subgraph cluster0 {
label = 御三家;
color = orange;
bgcolor = orange;
尾張家;
紀州家;
水戸家;
}
キーワード subgraph を使ってグラフの中にグラフを作ることができる。
このグラフ内グラフ(サブグラフ)には、外側のグラフと別にラベルや枠線、背景色を設定できる。
サブグラフの名前は、通常「cluster」ではじまる名前とする。それ以外の名前だと、ラベルや色の指定が無視される。