LoginSignup
12
9

More than 5 years have passed since last update.

Graphvizでハマったこと

Last updated at Posted at 2014-12-01

graphvizとは

テキスト記述(dot言語)で関連図を生成できる凄いツール。

サイト

配布元 http://www.graphviz.org/
定番チュートリアル http://homepage3.nifty.com/kaku-chan/graphviz/

やりたかったこと

  • とあるDBの職業一覧を階層化して見たかった。
  • 件数は7000件くらい

ハマったこと

でかい関連図はpng出力とかjpeg出力は難しい

carino-rendererを使うと図形が潰れて出力されてしまった。

C:\>dot -Tpng test.txt -o c:\temp\sample.png

dot: graph is too large for cairo-renderer bitmaps. Scaling by 0.0341323 to fit

C:\>

【対応方法】
png出力とかjpeg出力を諦める。svg形式なら大きくても大丈夫。

でかい関連図を出力すると見難い(醜い)

1つの階層に30項目ほどぶら下がるような図ができあがった。縦は収まるのに横が延々とスクロールが続いてしまう形に。


【対応方法】
階層図・グラフの表記方向を上→下(初期設定)から左→右(dot言語で"graph [rankdir = LR];"を追加)に変更。

でかい関連図を出力すると線が重なってしまう

階層の項目と 階層と階層をつなぐ線がぶつかってしまった。このままだと線を追いかけづらく読みにくい。


【対応方法】
階層の感覚を広げる。dot言語で”ranksep=10;”を追加。
全体的に幅広くなってしまったが、読みやすくなった。

最後に

テキストから関連図が作れるGraphviz、面白いです。大量のデータの関連性をみるとか、上下関係を調べるようなときに簡単に使える便利なツール。

今回使用したデータ

githubに登録しました。

使い方

C:\>dot -Tsvg test.txt > c:\temp\work.svg

表示方法

work.svgが生成されるので、Internet Exploereなどで表示してください。

12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9