Rで解析:HIGHCHARTS JSを利用したインタラクティブなプロット「highcharter」パッケージ


HIGHCHARTS JSを利用した高機能なインタラクティブなプロットが可能なパッケージの紹介です。なお、グラフデータを出力ファイルの右上部メニューより印刷、PDFや画像で保存することができます。

HIGHCHARTS JSはCreative Commons Attribution-NonCommercial 3.0 Licenseに基づき個人及び非営利プロジェクトの利用条件で自由に使用することができます。

・Creative Commons Attribution-NonCommercial 3.0 License:日本語リンク
 https://creativecommons.org/licenses/by-nc/3.0/deed.ja

もし、利用条件に該当しない場合は下記URLから購入を検討してください。

・HIGHSOFT PRODUCTS
 http://www.highcharts.com/products/highcharts

HIGHCHARTS JSは非常に多機能です。ぜひ、HIGHCHARTS JSのAPIリファレンスを確認することをお勧めします。本パッケージもコマンドでAPIを取得しています。リファレンスのコマンドがパッケージに応用できます。

・HIGHCHARTS JSのAPIリファレンス
 http://api.highcharts.com/highcharts

パッケージバージョンは0.1.0。実行コマンドはR version 3.2.2で確認しています。


パッケージのインストール

下記、コマンドを実行してください。windowsは「digest」パッケージを最初にインストールすると「highcharter」パッケージをエラーなくインストールすることができます。

#windowsは下記のパッケージをインストール
install.packages("digest")
#パッケージのインストール
install.packages("devtools")
devtools::install_github("jbkunst/highcharter")

#CRANからでもインストールが可能です
install.packages("highcharter")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("highcharter")

###データ例の作成#####
n <- 30
TestData <- data.frame(Data1 = rnorm(n) + rnorm(n) + rnorm(n),
                       Data2 = sample(0:1, n, replace = TRUE))
#######

###参考:2変数をhc_add_serieコマンドに適応するためにデータをlistするコマンド###
# PlotData <- data.frame(t(TestData))
# #余計なcolnameが付与されているとエラーとなります
# colnames(PlotData) <- NULL
# #リストに変換
# PlotData <- as.list(PlotData)
########

###基本的な使い方#####
#グラフオブジェクトを作成:highchartコマンド
HCObj <- highchart()

#タイトルの設定:hc_titleコマンド
#書式設定:styleオプション;list classで設定します
#位置の設定:alignオプション;left,right,center及び数値で指定が可能
#位置の基準値を設定:xオプション;初期値は0
HCObj <- hc_title(HCObj, text = "テスト:area", align = 30, x = 0,
                  style = list(color = "#4b61ba"))

#サブタイトルの設定:hc_subtitleコマンド
#書式設定:styleオプション;list classで設定します
#位置の設定:alignオプション;left,right,center及び数値で指定が可能
#位置の基準値を設定:xオプション;初期値は0
HCObj <- hc_subtitle(HCObj, text = "からだにいいもの", align = 30, x = 0,
                     style = list(color = "#a87963", fontWeight = "bold"))

#グラフ下部にサイト情報を付与:hc_creditsコマンド
#リンク先URLの設定:hrefオプション
HCObj <- hc_credits(HCObj, text = "からだにいいもの",
                    href = "https://karada-good.net", enabled = TRUE)

#凡例の表示位置を設定:hc_legendコマンド
HCObj <- hc_legend(HCObj, align = "left", verticalAlign = "top",
                   layout = "vertical", x = 0, y = 100)

#x軸の加工:hc_xAxisコマンド
#軸タイトルの表示位置:oppositeオプション;TRUEで上部
#y軸の加工で使用しているplotBandsが使用できます
HCObj <- hc_xAxis(HCObj, title = list(text = "X軸加工のテスト"),
         opposite = TRUE,
         plotLines = list(list(label = list(text = "テスト"),
                               color = "#e1e6ea",
                               width = 2,
                               value = 15)))

#y軸の加工:hc_yAxisコマンド
HCObj <- hc_yAxis(HCObj, title = list(text = "Y軸加工のテスト"),
                  opposite = TRUE,
                  plotBands = list(list(from = -4, to = 0, color = "rgba(100, 30, 0, 0.1)",
                                        label = list(text = "Y軸加工のテスト"))))

#グラフのプロット:hc_add_serieコマンド
#グラフの種類を設定:typeオプション
#グラフの種類は下記が設定可能です
#"area", "arearange", "areaspline", "areasplinerange", "bar",
#"boxplot", "bubble", "column", "columnrange", "errorbar",
#"gauge", "heatmap", "line", "pie", "polygon",
#"scatter", "spline", "treemap", "waterfall"
#塗りつぶしの色:colorオプション
HCObj <- hc_add_serie(HCObj, name = names(TestData)[1], data = TestData[, 1], type = "line", color = "#a87963")
HCObj <- hc_add_serie(HCObj, name = names(TestData)[2], data = TestData[, 2], type = "line", color = "#4b61ba")
HCObj

#boxplotを重ね書き
hc_add_serie(HCObj, data = list(c(0, 3, 5, 7, 3, 5), c(9, 3, 5, 7, 8, 15),
                                c(10, 8, 9, 11, 13, 15), c(15, 3, 5, 7, 8, 15)),
             type = "boxplot", color = "#d9bb9c")

出力例

凡例含めて、グリグリ動きます。いろいろ試してみてください。


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク