LoginSignup
15
12

More than 5 years have passed since last update.

Rubyでグラフを描画してみる

Last updated at Posted at 2018-02-10

はじめに

Rubyでグラフを描画してみたいと思い、gemを探したところ、gruffを見つけた。
その使い方を自分のメモ程度ですが、まとめてみたいと思う。

gruffとは

Rmagickを利用したグラフ描画用のgemです。
最終的にグラフを画像ファイルとして出力される。

gruffを使ってみる

gemをインストール

gem install 'gruff'

rubyファイルを作る

gruff-example.rb
require 'gruff'
g = Gruff::Line.new
g.title = "Gold Medal in Winter Olympics"
g.labels = { 0 => 'Nagano(98)',
             1 => 'Salt Lake City(02)',
             2 => 'Torino(06)',
             3 => 'Vancouver(10)',
             4 => 'Sochi(14)',
           }
g.data :Japan, [5, 0, 1, 0, 1]
g.data :USA, [6, 10, 9, 9, 9]
g.data :Germany, [12, 12, 11, 10, 8]
g.write('gruff-example.png')

実行する

ruby gruff-example.rb

実行結果
同一ディレクトリにpngファイルが生成される

gruff-example.png

メソッドの紹介

① それぞれのグラフのデータ
  これの数がグラフのデータの数になります。

gruff-example.rb
# 色は、なしでも可

g.data :データ名, 数値の配列,   

② marginを空けるなら

gruff-example.rb
# pxは書かない
g.margins = 数値

③ 背景やフォントの色を指定するなら

gruff-example.rb
g.theme = {
  :colors => 色の配列,
  :marker_color => ,
  :background_colors => ,
  :font_color => 
}

④ themeをテンプレから指定するなら

gruff-example.rb
g.theme_keynote

g.theme_37signals

g.theme_rails_keynote

g.theme_odeo

g.theme_pastel

g.theme_greyscale

グラフの種類

棒グラフ

gruff-example.rb
g = Gruff::Bar.new

実行結果gruff-example.png

エリアグラフ

gruff-example.rb
g = Gruff::Area.new


実行結果
gruff-example.png

横棒グラフ

gruff-example.rb
g = Gruff::SideBar.new


実行結果
gruff-example.png

円グラフ

gruff-example.rb
g = Gruff::Pie.new


実行結果gruff-example.png

他にも色々ある こちらへ

終わりに

これでいろんなグラフをかけそう。
でも、日本語対応してないから

gruff-example.rb
g.font = '適当なフォント名.ttf'

を指定しなあかんのが、ちょっとめんどくさいかも

読んでいただきありがとうございます。

参考にさせていただいた記事
- Gruffでグラフ!格好いいグラフを簡単に生成

15
12
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
15
12