Rで解析:JS amChartsライブラリでインタラクティブ「rAmCharts」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

amChartsはインタラクティブなグラフを描写するJavaScriptのライブラリです。商用利用時にはライセンスに注意しなくてはいけませんが、利用しやすいライブラリです。そんな「amCharts」ライブラリをRから利用するパッケージを紹介します。

本パッケージで作成できるグラフは「グリグリ」動くだけでなく、「グラフデータをエクセルなどで保存」、「グラフに書き込みをしてpdfなどで保存」や「グラフを画像ファイルで保存する」メニューを設定することが可能です。

ぜひ、出力例を試してみてください。

参考までに、下記URLを紹介します。

・amchartsオフィシャルサイト
 http://www.amcharts.com/
・クラスのオプション一覧
 http://docs.amcharts.com/3/javascriptcharts

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

スポンサーリンク

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

下記コマンドを実行してください。

#パッケージのインストール
install.packages("rAmCharts")

実行コマンド

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

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

###円グラフで作成例を紹介#####
#データ例の作成
PieChatData <- data.frame(Label = c("&#12390;&#12377;&#12392;", "&#12486;&#12473;&#12488;", "karada-good"),
                          Data = c(57, 100, 80),
                          Color = c("#a87963", "#4b61ba", "#d9bb9c"))
#AmCart&#12402;&#12394;&#24418;&#12434;&#20316;&#25104;:new&#12467;&#12510;&#12531;&#12489;
#&#12464;&#12521;&#12501;&#24418;&#24335;&#12399;http://docs.amcharts.com/3/javascriptstockchart/AmXYChart&#12434;&#21442;&#29031;
#creditsPosition&#20197;&#38477;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12391;&#23550;&#35937;&#12398;&#12487;&#12540;&#12479;&#12501;&#12524;&#12540;&#12512;&#20869;&#23481;&#12434;&#25351;&#23450;
PieChart <- new("AmChart", type = "pie", creditsPosition = "bottom-left",
                titleField = "Label", valueField = "Data", colorField = "Color") 
PieChart
# ~ AmChart ~
# $pathToImages
# [1] "http://www.amcharts.com/lib/3/images/"
# $titleField
# [1] "Label"
# $valueField
# [1] "Data"
# $colorField
# [1] "Color"
# $creditsPosition
# [1] "bottom-left"
# $type
# [1] "pie"

#&#12402;&#12394;&#24418;&#12395;&#12487;&#12540;&#12479;&#12434;&#20184;&#19982;:setDataProvider&#12467;&#12510;&#12531;&#12489;
PieChart <- setDataProvider(PieChart, PieChatData)
PieChart
#&#30465;&#30053;
# $dataProvider
# $dataProvider[[1]]
# $dataProvider[[1]]$key
# [1] &#12390;&#12377;&#12392;
# Levels: &#12390;&#12377;&#12392; &#12486;&#12473;&#12488;
# $dataProvider[[1]]$values
# [1] 20
# 
# $dataProvider[[2]]
# $dataProvider[[2]]$key
# [1] &#12486;&#12473;&#12488;
# Levels: &#12390;&#12377;&#12392; &#12486;&#12473;&#12488;
# $dataProvider[[2]]$value
# [1] 10
#&#30465;&#30053;
#&#12503;&#12525;&#12483;&#12488;
#plot(PieChart)

#&#12402;&#12394;&#24418;&#12395;&#12521;&#12505;&#12523;&#12398;&#20184;&#19982;:setLegend&#12467;&#12510;&#12531;&#12489;
PieChart <- setLegend(PieChart, position = "top")
PieChart
#&#30465;&#30053;
# $legend
# $legend$position
# [1] "right"
#&#30465;&#30053;
#&#12503;&#12525;&#12483;&#12488;
#plot(PieChart)

#&#12487;&#12540;&#12479;&#12398;&#21152;&#24037;&#12420;&#12456;&#12463;&#12473;&#12509;&#12540;&#12488;&#12513;&#12491;&#12517;&#12540;&#12398;&#35373;&#32622;:setExport&#12467;&#12510;&#12531;&#12489;
PieChart <- setExport(PieChart)
#&#12503;&#12525;&#12483;&#12488;
plot(PieChart)

###&#21442;&#32771;:pipeeR&#12434;&#20351;&#12387;&#12383;&#12467;&#12510;&#12531;&#12489;&#12398;&#25551;&#20889;
# install.packages("pipeR")
# library("pipeR")
# #&#12487;&#12540;&#12479;&#20363;&#12398;&#20316;&#25104;
# PieChatData <- data.frame(Label = c("&#12390;&#12377;&#12392;", "&#12486;&#12473;&#12488;", "karada-good"),
#                           Data = c(57, 100, 80),
#                           Color = c("#a87963", "#4b61ba", "#d9bb9c"))
# #pipeR&#12391;&#12467;&#12510;&#12531;&#12489;
# new("AmChart", type = "pie", creditsPosition = "bottom-left",
#     titleField = "Label", valueField = "Data", colorField = "Color"
# ) %>>% setDataProvider(PieChatData
# ) %>>% setLegend(position = "top"
# ) %>>% setExport(
# ) %>>% plot
########

#&#12498;&#12473;&#12488;&#12464;&#12521;&#12512;&#12398;&#25551;&#20889;:amHist&#12467;&#12510;&#12531;&#12489;
library("pipeR")
x <- rnorm(100)
amHist(x = x, xlab = "&#20516;", col = "#a87963")

#&#12501;&#12449;&#12531;&#12493;&#12523;&#12481;&#12515;&#12540;&#12488;&#12398;&#25551;&#20889;&#20363;
new("AmChart", type = "funnel", creditsPosition = "bottom-left",
    neckHeight = "30%", neckWidth = "40%",
    titleField = "Label", valueField = "Data", colorField = "Color") %>>%
  setDataProvider(PieChatData) %>>% 
  setLegend(position = "top") %>>% 
  setExport() %>>% plot

#&#12464;&#12521;&#12501;&#35013;&#39166;&#12398;&#20363;
new("AmChart", type = "gauge") %>>% 
  addArrow(value = 320) %>>% 
  addAxe(gaugeAxis (bottomText = "TEST", endValue = 360,
                    valueInterval = 10) %>>%
           addBand(color = "#8a5136", endValue = 150,
                   startValue = 0, innerRadius = "80%") %>>%
           addBand(color = "#ffac29", endValue = 280,
                   startValue = 90, innerRadius = "90%") %>>% 
           addBand(color = "#e1e6ea", endValue = 360,
                   startValue = 260, innerRadius = "60%")) %>>%
  setExport() %>>% plot

出力例

グラフ装飾の例は、ファイル読み込み時に「ハリ」が動きます。また、出力ファイルはiOSでも動作することを確認しています。

・円グラフの作成例

・amHistコマンド

・ファンネルチャートの描写例

・グラフ装飾の例


少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました