to top page
2012-12-30
DOT言語の練習 [3] 矢印の描画
属性: colorlabelstyledirarrowheadarrowtail
記述例1: 秀忠 -> 千姫 [dir = both, arrowtail = odot];
記述例2: 千姫 -> 豊臣秀頼 [arrowhead = none];
記述例3: 家光 -> 忠長 [color = red, dir = both, label = 対立];
記述例4: 徳松 -> 綱吉 [style = dotted, label = 養子];

記述例1〜4はいずれも下図の生成に使ったもの。



矢印の色は color 属性に色名か数値を与えて設定する。
label 属性を使って矢印にラベルを付けることができる。図中の「対立」と「養子」がラベルである。
矢印の線は style 属性で設定する。solid(デフォルト)、dashed、dotted、bold がある。
矢尻の形は多くのバリエーション(arrowType)があり、arrowheadarrowtail でそれぞれ矢印の先頭と根元を設定する。
「秀忠→千姫」の箇所で「arrowtail = odot」によって矢印の根元を白丸にしているが、arrowtail 属性を使うには dir 属性を both か back にしておく必要がある。
矢尻を消すには、「千姫→豊臣秀頼」の箇所のように「arrowhead = none」とする。夫婦関係を示すためにこの箇所では矢印を2本付けてみた。
「綱吉→綱吉」の箇所はトリックを使った。家光の矢印が指している綱吉はプログラム内では仮に徳松(綱吉の幼名)としてあるが、
   徳松 [label = 綱吉];
と徳松のノードに label 属性を設定することで表示名を変えた。