Graphviz
Graphviz はグラフを描画するためのパッケージです。独自の DOT 言語で書かれたテキストファイルから様々なフォーマットの画像ファイルを生成することが出来ます。
インストール
graphviz パッケージをインストールしてください。
Viewers:
- KGraphViewer — Graphviz DOT graph file viewer from KDE.
- xdot.py — Interactive viewer for graphs written in Graphviz's dot language (built on GTK+).
フォント
グラフに文字列を含めるためにはフォントをインストールしておく必要があります。フォントのインストール方法についてはフォントを参照してください。
日本語を表示するには例えば IPA フォントが使えます:
# pacman -S otf-ipafont
利用可能なフォントの一覧を表示するには:
$ fc-list
dot コマンドがどのフォントを使用しているかを確認するには:
$ dot example.dot -Tpng -o foo.png -v 2>&1 | grep font
例
dot ファイルの例です。
example.dot
digraph graph_name { graph [ charset = "UTF-8"; label = "sample graph", labelloc = "t", labeljust = "c", bgcolor = "#343434", fontcolor = white, fontsize = 18, style = "filled", rankdir = TB, margin = 0.2, splines = spline, ranksep = 1.0, nodesep = 0.9 ]; node [ colorscheme = "rdylgn11" style = "solid,filled", fontsize = 16, fontcolor = 6, fontname = "Migu 1M", color = 7, fillcolor = 11, fixedsize = true, height = 0.6, width = 1.2 ]; edge [ style = solid, fontsize = 14, fontcolor = white, fontname = "Migu 1M", color = white, labelfloat = true, labeldistance = 2.5, labelangle = 70 ]; // node define alpha [shape = box]; beta [shape = box]; gamma [shape = Msquare]; delta [shape = box]; epsilon [shape = trapezium]; zeta [shape = Msquare]; eta; theta [shape = doublecircle]; // edge define alpha -> beta [label = "a-b", arrowhead = normal]; alpha -> gamma [label = "a-g"]; beta -> delta [label = "b-d"]; beta -> epsilon [label = "b-e", arrowhead = tee]; gamma -> zeta [label = "g-z"]; gamma -> eta [label = "g-e", style = dotted]; delta -> theta [arrowhead = crow]; zeta -> theta [arrowhead = crow]; }
このファイルから png 画像を生成するには:
$ dot -Tpng example.dot -o example.png