そのうち色々と追記して行きます
疑問
・数式は入れることができないのか?
日本語はそのまま入力できるし、表示もされる
コメント文
/* ここはコメント文 */
# ここはコメント文
矢印なしのフローチャート
a -- b -- c;
b -- d;
}
矢印ありのフローチャートa -> b -> c;
b -> d;
}

wikiの一番下にあった問題点ってのをそのままコピーして作ってみたら
グニャ〜って曲がったグラフができた・・・ 失敗だ・・・
digraph g {
node [shape=plaintext]
A1 -> B1
A2 -> B2
A3 -> B3
A1 -> A2 [label=f]
A2 -> A3 [label=g]
B2 -> B3 [label="g'"]
B1 -> B3 [label="(g o f)'" tailport=s headport=s]
{ rank=same; A1 A2 A3 }
{ rank=same; B1 B2 B3 }
}

「上から下に」じゃなくて「左から右に」進むフローチャートができる
色を付ける
node [style=filled, colorscheme=rdpu4];
#rankdir=LR;
a -- b -- c;
b -- d;
a [style=filled, fillcolor=1];
b [style=filled, fillcolor=2];
c [style=filled, fillcolor=3];
d [style=filled, fillcolor=4];
}
node [style=filled, colorscheme=rdpu3];の行は上の方に書かないとエラーが出た調べてないから勘だけど、rdpu4の数字はいじってもOK
ある色からある色までを4分割するってことだと思う
数字を4にしたままで
d [style=filled, fillcolor=5];
のように置き換えるとエラーが出て変な色で塗りつぶされる
node [style=filled, colorscheme=rdpu4];
#rankdir=LR;
a -- b -- c;
b -- d;
a [style=filled, fillcolor=1, share=circle];
b [style=filled, fillcolor=2];
c [style=filled, fillcolor=3];
d [style=filled, fillcolor=4];
}
文字を改行したい
矢印の横に文字を入れる方法
同じく一つ上のスクリプトで
たぶん、フローチャートの形によっては矢印と干渉するのでスペースなどを入れて対処する
他にも、次のようなオプションが付けられる。
alpha -> beta [
label = "a-b", //エッジラベル
labelfloat = true, //ラベルの重なりを許可する
headlabel = "head", //エッジの終端にラベルをつける
taillabel = "tail", //エッジの始端にラベルをつける
labeldistance = 2.5, //ラベルの位置をノードからの距離で指定する
labelangle = 70, //ラベルの位置を角度で指定する
color = blue, //エッジカラー
style = solid, //エッジスタイル
dir = both, //エッジの矢印を指定する
arrowhead = normal, //エッジの終端の形状を指定
arrowtail = normal, //エッジの始端の形状を指定
arrowsize = 1, //矢印の大きさ倍率で指定
weight = 5 //エッジの重み付け 重みが大きいエッジが結ぶノードがより近く配置される
fontname = "Migu 1M", //エッジラベルフォント
fontsize = 14, //エッジラベルフォントサイズ
fontcolor = blue //エッジラベルフォントカラー
];
shapeの中には「レコード」というものがある
縦横に自由に分割できる上に、分割したパートについても矢印の出し入れができる
接続ポート
それぞれのノードの左右上下どこから矢印を出すかを制御できる
ne : 右上
e : 右
se : 右下
s : 下
sw : 左下
w : 左
nw : 左上
c : 中央
_ : 自動
node [style=filled, colorscheme=rdpu4];
a -- b[headport=w, tailport=e];
b -- c;
b -- d[label="hoge"];
a [style=filled, fillcolor=1, shape=circle];
b [style=filled, fillcolor=2];
c [style=filled, fillcolor=3];
d [style=filled, fillcolor=4];
}
headport="w"のようにダブルコーテーションはいらないので注意
逆にtailportつまりaから出るところは右から出るようになっている
(矢印にとってのheadとtailなので少し理解するのに苦労した・・・)
