15
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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](https://qiita-image-store.s3.amazonaws.com/0/181383/e56449f3-b398-bf2b-4409-46805a36a10b.png)

エリアグラフ

gruff-example.rb
g = Gruff::Area.new
実行結果 ![gruff-example.png](https://qiita-image-store.s3.amazonaws.com/0/181383/11af289f-27f2-38fd-a1cb-4b2b08775f61.png)

横棒グラフ

gruff-example.rb
g = Gruff::SideBar.new
実行結果 ![gruff-example.png](https://qiita-image-store.s3.amazonaws.com/0/181383/27a86d42-555e-fd17-7e7a-a9ac41d63dfd.png)

円グラフ

gruff-example.rb
g = Gruff::Pie.new
実行結果![gruff-example.png](https://qiita-image-store.s3.amazonaws.com/0/181383/25c99354-f3a2-afd0-dfbe-9100b34095f7.png)

他にも色々ある こちらへ

終わりに

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

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

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

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

参考にさせていただいた記事

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?