Graphvizを用いたポスター間相関図の作成

 いろいろ調べてみましたがGraphvizを用いたグラフ作成が便利そうなので使ってみることにしました。また、Rubyで対応するフォーマットに出力してくれるライブラリとして、コメントでご紹介いただいたGvizを使ってみることにしました。
 いままでファイルに相関を出力していたコードを利用し、Gvizにノードを挿入するメソッドを追加しました。

gv = Gviz.new
gv.global layout: 'neato', overlap: false
gv.edges arrowhead: 'none'
...
gv.route "#{posterHost[0]}".to_sym => "#{number[0]}".to_sym
gv.node "#{number[0]}".to_sym, label: number[1]

 今回はオブジェクト変数の中身を順番に見ながらGvizオブジェクトにノードを挿入していくので、gv.graphブロックは作成せずに直接Gvizのメソッドを呼び出すことにしました。また、ノードのidとして、ポスター番号が利用できそうだったのでそれをシンボルに変換して使用しました。
 とりあえずグラフを作成できるか確かめる程度だったので、特に表示形式やエッジの重みなどは考慮せずに作ってみましたが、牧場マシンで数十分で出力させることができました。エッジの本数を変えてみたり、使用している単語を見直したりする必要がありそうなので、次回グラフの見やすさを調整していきます。