一行でサマリ
Rubigraph という、Ubigraph のRubyラッパを書きました。
Ubigraphとは
Ubigraph というグラフ生成ツールを最近見つけました。 Graphvizが静的なグラフ生成をしてくれるのに対して、Ubigraphは動的にノードやエッジを追加/削除/属性変更できるのがミソです。これがたのしい。 どれくらい楽しいかについては、デモを見ていただければと思います。
クライアントサーバ型であり、サーバのコードは非公開だけれどXML-RPCのAPIが用意されているので簡単にクライアントがつくれます。なので、クライアント側の言語は問わないと謳ってるわけですね。サーバのバイナリはMacとLinuxが用意されてます。
Rubigraphとは
ですが、いちいちAPIリファレンス見ながらXML-RPCを書いてられない。 なので、簡単なクラスをつくってラップしたものをRubigraphとして公開します。
インストール
Rubyforgeにプロジェクトをつくっておきました。
gem install rubigraph としてインストールできます。
コード
どう書けるようになるのか
require 'rubigraph' Rubigraph.init # XML-RPCクライアントの初期化などする v1 = Vertex.new v2 = Vertex.new e12 = Edge.new(v1, v2) v1.color = '#003366' v2.shape = 'sphere' e12.label = 'edge between 1 and 2'
かんたんですね!
まとめ
ダイナミックにグラフで可視化するのはたのしいものです。ぼくは関数コールトレーサにつかっていて、とても便利に感じています。 Ubigraph++。
日本語
English