yhara.jp

Recent Posts

Graphviz覚え書き

Tech

知っておくとたまに便利なツール、Graphvizに関するメモです。

インストール

Mac(homebrew)の場合はbrew install graphviz、など。

使い方

1.dot:

digraph graph1 {
  1 -> 4 [label="3"]
  1 -> 9 [label="1"]
  2 -> 5 [label="4", style=dotted]
  2 -> 6 [label="1"]
  3 -> 7 [label="5"]
  3 -> 10 [label="9"]
  4 -> 7 [label="2"]
  5 -> 6 [label="6", style=dotted]
  5 -> 8 [label="5"]
  6 -> 8 [label="3"]
  7 -> 9 [label="5"]
  8 -> 10 [label="8"]
}

画像生成:

$ dot -Tpng 1.dot -o 1.png

dotファイルの書き方

dotファイルの記述次第で、生成されるグラフ画像をいろいろカスタマイズできます。ここではよく使うものを紹介します。

ノード

  • ノードに文字を入れる:label="foo" (シングルクオート不可)

エッジ

  • エッジに文字を入れる:label="foo" (シングルクオート不可)
  • 無向エッジにする:dir=none
  • 点線にする:style=dotted

Tips

レイアウトを変える

dotコマンドをneato, twopi, circoといったコマンドに換えると、ノードの配置が代わります。大きなグラフなどでdotコマンドだとぐちゃぐちゃになってしまう場合でも、別のアルゴリズムだとそれなりに見られるようになることもあります。

詳細はman dotを参照してください。

More posts

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author