S-JIS[2010-04-23/2017-08-13] 変更履歴

Graphvizメモ

Graphvizは、AT&Tが開発した、グラフ(有向・無向グラフ)を描画するツール群(オープンソース)。


概要

以下のようなdotファイル(テキストファイル)を元に、有向グラフを描画する(画像ファイルとして保存できる)。

digraph sample {
  a -> b;
  a -> c;
}

Windowsへのインストール

  1. 公式ページの左側のメニューから「Download」を選ぶ。
  2. ライセンスに同意して「Agree」を選ぶ。
  3. 左側のメニューの「Download」の下に機種一覧が表示されるので、windowsを選ぶ。
  4. ファイル(graphviz-2.38.msi)をクリックして、ダウンロードする。
  5. ダウンロードしたmsiファイルをダブルクリックして実行する。
  6. インストーラーが起動するので、各メニューで「Next」ボタンを押して、インストールする。
  7. インストーラーで「Complete」が表示されたら、「Close」ボタンを押して、完了。

Windows版の実行

Windowsにインストールすると、Windowsの「スタート」→「プログラム(P)」に「Graphviz」というメニューが追加される。
メニューに追加されないexeファイルもある。[2017-08-13]

実行ファイル名 概要
Gvedit.exe dotファイルを編集し、有向グラフを画像ファイルとして保存するツール。
dot.exe dotファイルをpdfファイル等に変換するコマンドラインツール。[2017-08-13]

これらのexeファイルは2.38のデフォルトだと「C:\Program Files (x86)\Graphviz2.38\bin」にあるので、 これをパスに追加しておけばdot.exe等のコマンドラインツールの実行には便利。[2017-08-13]


Gveditの使用方法

dotファイルの編集

Gveditを起動したら、最初にメニューバーの「File」→「New」かツールバーの「New File」を実行すると、「Graphviz Layout」ウィンドウが開く。
これがdotファイルを編集(書き込む)画面となる。
もしくは、メニューバーの「File」→「Open」あるいはツールバーの「Open」で、保存されているdotファイルを読み込むことが出来る。
メニューバーの「File」→「Save」「Save As」あるいはツールバーの「Save」で、dotファイルを保存する。

有向グラフの描画

dotファイルにデータを書いたら、描画する。
メニューバーの「Graphviz」→「Run」あるいはツールバーの「Run」で、有向グラフが描画される。
が、最初の一回は、「Graphviz Settings」というウィンドウが開く。
ここで、有向グラフを画像ファイルとして保存するディレクトリー・ファイル名や描画形式(gif・png・jpg等)を指定する。
(ウィンドウに描画するだけでも、一旦ファイルとして保存される)
設定画面で「OK」ボタンを押すと、(画像ファイルが作成され、)有向グラフが描かれたウィンドウが表示される。

メニューバーの「Graphviz」→「Settings」あるいはツールバーの「Settings」で、設定画面を表示することが出来る。


CentOSへのインストール

CentOSへはyumでインストールできる。[2012-12-19]

# yum install -y graphviz graphviz-gd

graphvizだけだと変換できるファイルの種類に限りがある。
pngやgifに変換するにはgraphviz-gdも入れておく必要がある。

$ dot -Tpng -o output.png input.dot

dotの使用方法


dotの使用方法

dot(Windowsだとdot.exe)を使うと、dotファイルをpdfファイル等に変換することが出来る。[2017-08-13]

$ dot -Tpng -o output.png input.dot
$ dot -Tpdf input.dot > output.pdf

フォントの指定

入力のdotファイルはUTF-8にする必要がある。
また、日本語のフォントが無い場合は出力されたファイルが文字化けする。

dotファイル内のノードの位置に日本語が書かれている場合はノードのフォントを指定する。

dotファイル内で指定する場合 digraph {
graph [
    〜
];
node [
    fontname="MEIRYO"
];
dotコマンドの引数で指定する場合
> dot.exe -Tpdf -Nfontname=MEIRYO input.dot > output.pdf

なお、Windowsの場合、フォントはC:\Windows\Fontsにあるのだが、そこにあるファイルならどれでも指定できるというわけではないどれが使えるのかは謎orz
dot(の内部で使われているpango)が認識できないフォントを指定すると、以下のような警告が出る。(実行自体は出来るが、文字化けする)

> dot.exe -Tpdf -Nfontname=MSGOTHIC input.dot > output.pdf

(dot.exe:6504): Pango-WARNING **: couldn't load font "MSGOTHIC Not-Rotated 14", falling back to "Sans Not-Rotated 14", expect ugly output.

参考: ksmemoさんのGraphvizの使い方メモ


ツールページへ戻る
メールの送信先:ひしだま