Ruby でグラフ作成
私が Ruby でグラフを簡単に作成できるのを知ったのは「Rubyist 九州」の例会に参加したことがきっかけです. その記憶がなくならないうちに,Ruby で簡単に作成できるグラフの種類を一通りまとめておきたいと考えました.
【関連する外部ページ】: http://www.gfd-dennou.org/arch/davis/gfdnavi/doc/install/install-rails.htm
Linux での事前準備
- Linux で Ruby 処理系と RubyGems のインストールが済んでいること。
◆ Ubuntu でのインストール手順(例)
sudo apt -y update sudo apt -y install ruby-full rubygems
- JRuby を使う場合に限り,Windows での Java JDK 18 (Java SE Development Kit 18) のインストールが済んでいること.
- ImageMagick と GraphiceMagick と ImageMagick Ruby インタフェース (RMagick) をインストール
- ImageMagick のインストール
◆ 操作手順の例
cd /tmp wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick-6.7.0-6.tar.bz2 tar -xvjof ImageMagick-6.7.0-6.tar.bz2 cd ImageMagick-6.7.0-6 ./configure --without-perl make sudo make install
- GraphicsMagick のインストール
◆ 操作手順の例
cd /tmp wget http://sourceforge.jp/projects/sfnet_graphicsmagick/downloads/graphicsmagick/1.2.10/GraphicsMagick-1.2.10.tar.bz2 tar -xvjof GraphicsMagick-1.2.10.tar.bz2 cd GraphicsMagick-1.2.10 ./configure --without-perl make sudo make install
- ImageMagick Ruby インタフェース (RMagick) のインストール
gem update gem install rmagick --include-dependencies
* Linux の場合の参考情報
RMagick はruby-1.8 系列, Ruby 1.9 系列では動く(確認済み). JRuby-1.4 は未確認です.
- ImageMagick のインストール
Windows での事前準備
- Windows での Ruby 処理系のインストールと, RubyGems のインストールと,RMagick のインストールが済んでいること
- JRuby を使う場合に限り,Windows での Java JDK 18 (Java SE Development Kit 18) のインストールが済んでいること.
* Windows の場合
RMagick は Windows 用のバイナリファイルを使うが,ruby-1.8 系列 では動く (JRuby-1.4 も OK).つまり ruby-1.9 系列ではだめ (2009/10時点). (残念ながら私にはソースコードからビルドする技量が無い)
gruff を gem を使ってインストール
gruff は,Ruby で動くグラフ作成ソフトウェア.
- 「gem install gruff」の実行
gem install gruff
- 実行結果の確認
グラフ作成の例
- http://rubyonrails.com/pages/gruff で公開されていたに記載のサンプルプログラムをファイルに保存(現在は,このページがなくなっている)
ここでは,仮にファイル名をhoge.rb としている.
- プログラムの実行とグラフの確認
要点: Linux でも Windows でも同じ結果が得られる
* Linux, Ruby バージョン 1.8.7 の場合
Linux での動作画面例 (Ruby バージョン 1.8.7)* Linux, Ruby バージョン 1.9.1 の場合
Linux での動作画面例 (Ruby バージョン 1.9.1)* Windows, Ruby バージョン 1.8.7 の場合
ruby hoge.r # 画像表示ソフトで my_fruity_graph.png を表示
* Windows, JRuby バージョン 1.4.0 の場合
jruby hoge.r # 画像表示ソフトで my_fruity_graph.png を表示
種々のグラフ
- g = Gruff::Area.new
- g = Gruff::Bar.new
- g = Gruff::Dot.new
- g = Gruff::Line.new
- g = Gruff::Mini::Bar.new
- g = Gruff::Mini::Pie.new
- g = Gruff::Mini::SideBar.new
- g = Gruff::Net.new
- g = Gruff::Pie.new
- g = Gruff::SideBar.new
- g = Gruff::SideStackedBar.new
- g = Gruff::StackedArea.new
- g = Gruff::StackedBar.new