AT&Tのオープンソースでグラフ構造を描画するツール。~
dot言語を用いて記述する。~
Doxygenなんかで関数呼び出しやクラスの関連図の可視化にも使われているようだ。
***簡単な使い方 [#e7ee2471]
A→B, B→C, C→Aの辺を持つ有向グラフの描画~
test.dot
 digraph "g" {
    "A" -> "B" ;
    "B" -> "C" ;
    "C" -> "A" ;
 }
で、test.dotをdottyかlneatoに食わせると新しいウィンドウで描画する。~
ファイルに書き出すときは、
 dot -Kneato -Tgif test.dot -o test.gif
引数の-Kはレイアウトエンジンでcirco, dot, fdp, neato, twopiの5つのどれか。-Tは出力ファイルのフォーマットでdot, gif, jpg, png, ps, svgとか色々ある。
#ref(test.gif,nolink,left)

***dottyの使い方 [#ifb61a16]
dottyは対話的にノードや辺を追加してグラフを描画するツール。~
-クリックでノードの追加
-Ctrl+ドラッグで辺の追加
-右クリックで色々メニューが出る。attrで属性の変更。

***属性 [#kad57457]
よく使いそうなのをピックアップ。マニュアルにもっと載ってる。~
-ノードの属性
,label       ,ラベル
,color       ,色
,fillcolor   ,背景色
,fontcolor   ,文字色
,fontsize    ,フォントサイズ
,fontname    ,font family日本語はUTF-8で入力すれば通る?(不明)
,shape       ,ellipse circle doublecircle polygon box point diamond
,regular     ,shape=polygon時に正n角形にする。(true/false)
,sides       ,shape=polygon時の辺の数
,distortion  ,shape=polygon時に台形にする(0.0~)
,skew        ,shape=polygon時に斜めにする(0.0~)
,orientation ,ノードの回転
,style   ,bold dotted filled
-エッジの属性
,allowhead      ,辺の開始点の矢印のスタイル normal none
,allowtail      ,辺の終了点の矢印のスタイル normal none
,allowsize      ,矢印のサイズ
,color          ,矢印の色
,constraint     ,辺をノードのランキングで使う(true/false)
,dir            ,forward back both none
,fontcolor      ,フォントの色
,fontname       ,font family
,fontsize       ,フォントサイズ
,headlabel      ,head側に置くラベル
,taillabel      ,tail側に置くラベル
,label          ,ラベル
,labelfontcolor ,ラベルの色
,style          ,bold dotted filled
,minlen         ,辺の最小の長さ デフォルトで1
,weight         ,辺の重み付け デフォルトで1
-グラフの属性
,bgcolor      ,背景色
,color        ,アウトラインなどの色
,fillcolor    ,塗りつぶし色
,fontcolor    ,文字色
,fontname     ,フォント
,fontsize     ,フォントサイズ
,fontpath     ,フォントを探すパス
,rankdir      ,LR(left-right)か、TB(top-bottom)
#,clusterrank  ,global local none

***dot言語 [#af2d6cfc]


***Dot言語の書きかた [#a443fb99]

***Tcl関連 [#ha63f75b]
-[[Package ASDOT:http://wiki.tcl.tk/3717]]~
Tcllibのstruct::graphとdot形式の相互変換。struct::graphのバージョンアップで挙動不審になってる気がする。簡単なdotを読み込めん。簡単な出力はできるようだ。

----
[[CategoryTclTk]]


HTML convert time: 0.012 sec.