DOT言語入門

Pocket

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にxというラベルを付けて表示を変えられる。

graph{
a[label="x"]
}

次のようにするとノードの形を変えられる。デフォルトはellipseである。

graph{
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"];
}

次のようにするとノードを塗りつぶす。

graph{
yellow[style="filled",color="yellow"];
}

上の例からも分かるが、ラベル、形、色を同時に指定することもできる。

graph{
a[label="hello",shape="box",color="green"];
}

次のようにするとエッジにラベルが付けられる。

graph{
dog--cat[label="animal"];
}

次のようにするとエッジが点線になる。

graph{
a--b[style="dotted"];
}

次のようにするとノードのランクが同じになる。

digraph{
a->b;
{rank=same;a;b}
}

次のようにするとエッジの向きがなくなる。

digraph{
  a->b[dir="none"];
}

[ 2012年6月9日 | カテゴリー: デジタル | タグ: , ]

« | »

コメント

  1. […] 試しにDOT言語の文法をEBNFで記述して図を描いてみました。 PNGで出力することができますが、ここではXHTMLで出力してみました。図が埋め込まれて一つのファイルで出力されます。 […]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報