コールグラフをいろいろと作成する必要があり、いにしえの Graphviz を利用したので、その時のメモ


Ubuntu にインストールする場合は少なくとも graphviz パッケージをインストールする。

$ apt-cache search ^graphviz
graphviz - rich set of graph drawing tools
graphviz-dev - transitional package for graphviz-dev rename
graphviz-doc - additional documentation for graphviz
libgraphviz-dev - graphviz libs and headers against which to build applications
dot2tex - Graphviz to LaTeX converter
libgraph-writer-graphviz-perl - GraphViz Writer for Graph object


Outout Format

出力フォーマットは -T オプションで指定する。

$ dot -Tpng  -o test.png

Ubuntu 12.04 の場合、インストールバージョンと対応フォーマットは以下。

$ dot -V
dot - graphviz version 2.26.3 (20100126.1600)
$ dot -T?
Format: "?" not recognized. Use one of: canon cmap cmapx cmapx_np dot eps fig gd gd2 gif gv imap imap_np ismap jpe jpeg jpg pdf plain plain-ext png ps ps2 svg svgz tk vml vmlz vrml wbmp x11 xdot xlib

出力フォーマットの一覧は次の URL を参照

ちゃっかり WebP にも対応しているあたり、25年以上経過しているソフトウェアとは思えない。

ChangeLog を読むと、、、

January 23, 2012
    - Provide support for webp images

非 ASCII 文字の扱い

デフォルトの文字コードは UTF8。UTF8 以外を使いたい場合 charset 属性で指定する。
また、ノード名やラベルなどで非 ASCII を使う場合はダブルクオートで囲む必要がある。

The DOT language assumes at least the ascii character set. Quoted strings, both ordinary and HTML-like, may contain non-ascii characters.
By default, DOT assumes the UTF-8 character encoding. It also accepts the Latin1 (ISO-8859-1) character set, assuming the input graph uses the charset attribute to specify this.

FAQ にもエントリーがある。次のページを参照のこと。

More generally, how do I use non-ASCII character sets?

Because we cannot always guess the encoding, you should set the graph attribute charset to UTF-8, Latin1 (alias ISO-8859-1 or ISO-IR-100) or Big-5 for Traditional Chinese. This can be done in the graph file or on the command line. For example charset=Latin1.

今回は UTF8 だけで済ませたので、UTF8 以外の文字コードで非 ASCII 文字を使った場合の問題点は不明。


色は名前, RGB, HSVの3通りで指定可能。


  • “orchid”
  • “0.8396,0.4862,0.8549”
  • “#DA70D6”



  • 14-pt
  • Times-Roman
  • black




 * comment

// comment

# comment

The language supports C++-style comments: /* */ and //. In addition, a line beginning with a ‘#’ character is considered a line output from a C preprocessor (e.g., # 34 to indicate line 34 ) and discarded.


Sample Code

 * $ dot -Tpng  -o test.png

digraph G {
  node3 [style=filled,color="#fdc083"];

  "ノード1" -> node2 [label="edge_1_2"];
  "ノード1" -> node3 [label="edge_1_3"];
  node2 -> node3 [label="日本語"];
graphviz sample output

graphviz sample output

Tagged with:
Posted in visualize
One comment on “Graphvizのメモ
  1. […] また、ここを見て足りないライブラリもインストールしている。 […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: