2
2

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.

Daru::View でグラフを表示してみた

Last updated at Posted at 2019-01-26

グラフを描くツール Daru::View

 Rubyでグラフを表示するDaru::Viewというツールを使ってみた。Daru::Viewは2017年に始まった比較的新しいプロジェクト。Google ChartsHighchartsを使用している。

インストール

2019年1月26日時点では、Daru, Daru::Viewともに、gemパッケージではなく、githubリポジトリから最新版をインストールする。少なくとも私の環境では、安定版のdaruでは正常に動作しない。ここではspecific_installを利用して、GitHubのリポジトリからインストールした。

gem install specific_install
gem install https://github.com/SciRuby/daru
gem install https://github.com/SciRuby/daru-view

そのまえにJupyter + IRuby環境がインストールされている必要がある。これは少々面倒だが、IRuby インストールガイドに詳しい方法が解説されている。

使ってみる

jupyter lab もしくは jupyter notebook とタイプしてJupyterを起動。

グラフを描くのに使用するライブラリ

  • Google Charts
  • Highcharts
  • Nyaplot

ただしNyaplotはすでに開発が終了していると思われるので、新しく使い始めるのはすすめられない。

折れ線グラフ

1821–1934年のカナダの山猫の年間捕獲数のデータセットLynxを折れ線グラフで描出してみる。まずは山猫のデータセットを読み込んでDaru::DataFrameオブジェクトを作る。

require 'daru/view'
require 'rdatasets' # gem install rdatasets
lynx = Daru::DataFrame.from_rdatasets :datasets, :lynx

image.png

googlechartsを指定する。ほかに highchart などが指定できる。

# Google Charts を指定する
Daru::View.plotting_library = :googlecharts

グラフを描く。オプション無しで折れ線グラフになる。

chart = Daru::View::Plot.new(lynx)
chart.show_in_iruby

image.png

show_in_iruby はつけず、IRuby側で判定するべきだと思うが、そうしない理由がなにかあるのかもしれない。

面グラフ

オプション type: :area を指定。

chart = Daru::View::Plot.new(lynx, type: :area)
chart.show_in_iruby

image.png

棒グラフ

オプション type: :bar を指定。

chart = Daru::View::Plot.new(lynx, type: :bar, height: 600)
chart.show_in_iruby

image.png

グラフの色を変更する

chart = Daru::View::Plot.new(lynx, type: :bar, height: 600, colors: ["Green"])
chart.show_in_iruby

colors: ["Green"] などとすると変更される。
image.png

タイトルや軸を入れる

chart = Daru::View::Plot.new(lynx,
    type: :area,
    title: "カナダの山猫の年間捕獲数",
    hAxis: {title: "年"},
    vAxis: {title: "頭数"},
    colors: ["Orange"],
    height: 360,
    )
chart.show_in_iruby

image.png

バブルチャート

usarrests = RDatasets.load :datasets, :USArrests
chart = Daru::View::Plot.new(usarrests,
    type: :bubble,
    width: 700,
    height: 700,
    colors: ['yellow', 'red']
    )
chart.show_in_iruby

image.png

散布図

cars = RDatasets.load :datasets, :cars
chart = Daru::View::Plot.new(cars,
    type: :scatter,
    width: 600,
    height: 600
    )
chart.show_in_iruby

image.png

(続く)

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?