DOT言語入門
DOT言語について調べました。
DOT言語 - Wikipedia
初歩的なことだけをまとめてみます。
なお描画にはGoogleAPIを使っています。
次のようにするとaとbを結び付けるグラフが描ける。aやbをノードという。線をエッジという。
graph{a--b;}
次のようにするとノードを矢印で結び付ける。graphでなくdigraphである点に注意。
digraph{a->b;}
ノードはいくつも繋げられる。
graph{a--b--c--d;}
分岐させることもできる。
graph{a--b;a--c;a--d;}
これは次のように書いてもよい。
graph{
a--b;
a--c;
a--d;
}
a--b;
a--c;
a--d;
}
次のようにするとaにxというラベルを付けて表示を変えられる。
graph{
a[label="x"]
}
a[label="x"]
}
次のようにするとノードの形を変えられる。デフォルトはellipseである。
graph{
ellipse[shape="ellipse"];
box[shape="box"];
circle[shape="circle"];
record[shape="record"];
plaintext[shape="plaintext"];
point[shape="point"];
}
ellipse[shape="ellipse"];
box[shape="box"];
circle[shape="circle"];
record[shape="record"];
plaintext[shape="plaintext"];
point[shape="point"];
}
次のようにするとノードの輪郭の色を変えられる。
graph{
blue[color="blue"];
red[color="red"];
}
blue[color="blue"];
red[color="red"];
}
次のようにするとノードを塗りつぶす。
graph{
yellow[style="filled",color="yellow"];
}
yellow[style="filled",color="yellow"];
}
上の例からも分かるが、ラベル、形、色を同時に指定することもできる。
graph{
a[label="hello",shape="box",color="green"];
}
a[label="hello",shape="box",color="green"];
}
次のようにするとエッジにラベルが付けられる。
graph{
dog--cat[label="animal"];
}
dog--cat[label="animal"];
}
次のようにするとエッジが点線になる。
graph{
a--b[style="dotted"];
}
a--b[style="dotted"];
}
次のようにするとノードのランクが同じになる。
digraph{
a->b;
{rank=same;a;b}
}
a->b;
{rank=same;a;b}
}
次のようにするとエッジの向きがなくなる。
digraph{
a->b[dir="none"];
}
a->b[dir="none"];
}
[ 2012年6月9日 | カテゴリー: デジタル | タグ: API , DOT ]
« RSS1.0とRSS2.0の構造上の違い | マツコと有吉 »
[…] 試しにDOT言語の文法をEBNFで記述して図を描いてみました。 PNGで出力することができますが、ここではXHTMLで出力してみました。図が埋め込まれて一つのファイルで出力されます。 […]