Rで解析:ggplot2のgeom_pointをインタラクティブに!「ggiraph」パッケージ


ggplotパッケージのgeom_path,geom_polygon,geom_rect,geom_segment,そして、geom_pointをインタラクティブにするパッケージの紹介です。

使用頻度が高いと思われるgeom_pointをインタラクティブにするgeom_point_interactiveコマンドを紹介します。

なお、環境によると思いますがgeom_point_interactiveコマンドで処理できるデータの行数は30,000程度でした。データ分布の特性をザックっとインタラクティブに確認するには十分かと思います。さらに大きなデータは、まずは記述統計でじっくり観察するのが良いと思います。

実行環境
mac

参考:ggplot2パッケージの基本的な使い方
https://www.karada-good.net/analyticsr/r-78/

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


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

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

#パッケージのインストール
install.packages("devtools")
devtools::install_github("davidgohel/ggiraph")
#関連パッケージのインストール
install.packages("ggplot2")
devtools::install_github("davidgohel/rvg")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。紹介はしませんが、何かに使えそうなgeom_path_interactiveコマンドが収録されています。

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

###データ例の作成#####
#30,000行程度までインタラクティブなグラフに変換できます
n <- 3000
TestData <- data.frame(Group = sample(paste0("Group", 1:5), n, replace = TRUE),
                       Data1 = rnorm(n),
                       Data2 = rnorm(n) + rnorm(n) + rnorm(n))
#######

#gplot2でcaratとpriceの散布図をcolorをグループにしてプロット
PlotData <- ggplot(TestData,
                   aes(x = TestData[, 2], y = TestData[, 3],
                       color = TestData[, 1]))
PlotData + geom_point() + 
labs(x = "Data1", y = "Data2", title = "TEST PLOT", color = "Group Name")

###グラフのインタラクティブ化#####
###データの追加#####
#ツールチップデータの作成:tooltip
TestData$tooltip <- paste0( "グループ名 <br/>", TestData[, 1])
#シンボルクリックで表示する内容を作成:clickjs
TestData$click <- paste0("function() {alert('Xの値は", round(TestData[, 2], 2),
                         " Yの値は", round(TestData[, 3], 2),"です。')}" )

#ggplot2で設定:tooltip,onclickオプションを追加
PlotData <- ggplot(TestData,
                   aes(x = TestData[, 2], y = TestData[, 3],
                       color = TestData[, 1],
                       tooltip = TestData[, 4],
                       onclick = TestData[, 5]))
#インタラクティブ化:geom_point_interactive()コマンド
PlotData <- PlotData + geom_point_interactive()  + 
            labs(x = "Data1", y = "Data2", title = "TEST PLOT", color = "Group Name")
#インタラクティブなグラフをプロット:ggiraphコマンド
ggiraph(fun = print, x = PlotData)

出力例

インタラクティブな様子は動画で確認してください。


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

スポンサードリンク

おすすめコンテンツ


スポンサードリンク