26 February 2014
Gviz(Graphviz ruby wrapper)でクラスタエッジとか無向グラフとか
(追記:2014-3-3) Gvizについてのまとめ頁を作りました。
Twitterで@k1LoWさんから、次のような質問というかリクエストを頂きました。
Graphvizではfdpレイアウトにおいて、subgraph(cluster)を結ぶエッジをそれらの名前を使って作ることができます。
Graphviz Example: Undirected Graph Clusters | Graphviz - Graph Visualization Software
Gvizでは、subgraphの名前は自動で付けられてしまう(cluster+0からの連番)のでこれができませんでした。またこの検証に際して、無向グラフ(undirected graph)にもちゃんと対応していなかったことも発覚しました。これは実に有難いリクエストになりました。
そんなわけで…
早々これらに対応したversion0.3.4をリリースしました。
Gvizで先のグラフを再現するには次のようにします。
Graphメソッドの第2引数に:graph
を指定することにより無向グラフが描画されます。クラスタエッジを実現するにはlayoutにfdp
を指定します。subgraph
メソッドに任意の名前を渡します。route
メソッドを使ってそれらの名前を結びます。
実行します。
% ruby sample.rb
% open sample.dot
次のようなグラフが得られます。
いいみたいですね。
=== Ruby関連電子書籍100円〜で好評発売中! ===
blog comments powered by Disqus