Rで解析:インタラクティブな円グラフを作成「rd3pie」パッケージ


D3.jsを利用したd3pieをRから操作することができるパッケージです。いろいろな用途に利用できると思います。

d3pieのオフィシャルページを確認するとドーナツ型グラフの作成と塗り色を指定できるようですが、パッケージ収録のrd3pieコマンドは対応していませんでした。

そこで、オリジナルのソースに少しコマンドを追加しドーナツ型の作成と塗り色を指定できるようにしました。rd3pieコマンドと合わせて紹介します。ぜひ、実行コマンドを確認してください。

・参考:d3pieのオフィシャルページ
 http://d3pie.org/

パッケージバージョンは0.1.8。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.2で確認しています。


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

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

#パッケージのインストール
install.packages("devtools")
devtools::install_github("smartinsightsfromdata/rd3pie")
#実行に必要な「htmlwidgets」パッケージをインストール
devtools::install_github("ramnathv/htmlwidgets")

実行コマンド

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

#パッケージの読み込み
#version 0.1.8
library("rd3pie")
library("htmlwidgets")

###データ例の作成#####
#正の乱数を作成
Runif <- round(runif(5, min = 1, max = 100), 2) #列名はlabel,value,captionと設定する TestData <- data.frame(label = paste0("Group", 1:5), value = Runif, caption = as.character(Runif), colors = colorRampPalette(c("#0068b7", "#35a16b", "#f39800"))(5), stringsAsFactors = F) ######## #インタラクティブなpieグラフをプロット:rd3pieコマンド #データを指定:Dataオプション #ツールチップの設定:enabled_tooltipsオプション #グラフ外周の表示領域:OuterRadiusオプション TESTrd3pie <- rd3pie(Data = TestData, Title = "TEST PIE", SubTitle = "TEST", OuterRadius = NULL, enabled_tooltips = TRUE, type = "caption") #プロットを保存 #作業フォルダにTESTrd3pie.htmlとJavaScriptが保存されたフォルダが出力されます saveWidget(TESTrd3pie, "TESTrd3pie.html", selfcontained = FALSE, libdir = NULL, background = "white") ##################################################################### #面白いのでコードに機能を追加:Rerd3pieコマンド #追加した機能 #グラフをドーナツ化:pieInnerRadius = InnerRadiusを追記 #InnerRadiusオプション;ドーナツ範囲を%で指定 #塗り色を設定:misc = list(colors = list(segments = FillColors))を追記 #FillColorオプション Rerd3pie <- function (Data, Title = NULL, SubTitle = NULL, OuterRadius = NULL, InnerRadius = NULL, width = NULL, height = NULL, FillColors = NULL, enabled_tooltips = NULL, type = NULL) { if (class(Data[[colnames(Data)[1]]]) == "character") { colnames(Data)[1] <- "label" } else { colnames(Data)[1] <- "value" } if (class(Data[[colnames(Data)[2]]]) == "character") { colnames(Data)[2] <- "label" } else { colnames(Data)[2] <- "value" } d3data <- lapply(1:nrow(Data), function(i) { l_ <- as.list(Data[i, ]) return(l_) }) lData <- list(header = list(title = list(text = Title), subtitle = list(text = SubTitle)), size = list(pieOuterRadius = OuterRadius, pieInnerRadius = InnerRadius), data = list(content = d3data), misc = list(colors = list(segments = FillColors)), tooltips = list(enabled = enabled_tooltips, type = type)) htmlwidgets::createWidget(name = "rd3pie", x = lData, width = width, height = height, package = "rd3pie") } #プロット TESTRerd3pie <- Rerd3pie(Data = TestData, Title = NULL, SubTitle = NULL, FillColors = TestData[, 4], InnerRadius = "80%", enabled_tooltips= TRUE, type = "caption") #プロットを保存 #作業フォルダにTESTRerd3pie.htmlとJavaScriptが保存されたフォルダが出力されます saveWidget(TESTRerd3pie, "TESTRerd3pie.html", selfcontained = FALSE, libdir = NULL, background = "white") ######## [/code]


出力例

クリックでエリアが外側に移動します。

・rd3pieコマンド

・機能を追加したRerd3pieコマンド


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

スポンサードリンク

関連コンテンツ


スポンサードリンク