Rで解析:ぐりぐり動く!3D ScatterPlotの作成「threejs」パッケージの紹介


ぐりぐり動かすことができる3DのScatterPlot(散布図)を作成できる「threejs」パッケージを紹介します。散布図はデータの特徴を探るのに非常に有効な表現方法だと思います。

本パッケージ以外でも、インタラクティブな3DのScatterPlotを作成できますが、本パッケージは「画像を取り込み、画像ごとインタラクティブな球体図を手軽に作成できること」が特徴かと思います。

バージョンは0.2.1です。

面白いパッケージだと思います。ぜひ、試してみてください。

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

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

install.packages("threejs")

実行コマンドの紹介

詳細はコマンド内コメントならびにパッケージのヘルプを確認してください。
地球の画像を読み込み、パッケージ付属のフライトデータプロット(例1)とデータを擬似的に作成し3D散布図をプロット(例2)を紹介します。

#パッケージの読み込み
library("threejs")
par(family = "HiraKakuProN-W3")

#例1
#パッケージ付属データの読み込み
data(flights)

#付属データ座標の整形
dest <- factor(sprintf("¥%.2f:¥%.2f", flights[,3], flights[,4])) #windowsでのコマンドはこちら #MACとはエスケープ処理が異なります dest <- factor(sprintf("\\%.2f:\\%.2f",flights[,3], flights[,4])) #データの並び替え freq <- sort(table(dest), decreasing = TRUE) #TOP10のハブ空港を抽出 frequent_destinations <- names(freq)[1:10] idx <- dest %in% frequent_destinations #出発と到着の座標を取得 frequent_flights <- flights[idx, ] #データの単一化 latlong <- unique(frequent_flights[,3:4]) #データのプロット #worldをmoonにすると月の写真が使用できます。パッケージにはJupiter, marsの写真が付属しています。 earth <- system.file("images/world.jpg", package = "threejs") globejs(img = earth, lat = latlong[,1], long = latlong[,2], arcs = frequent_flights, arcsHeight = 0.3, arcsLwd = 2, arcsColor = "#ffff00", arcsOpacity = 0.15, atmosphere = TRUE) #例2 #データ例の作成 i <- sample(3, 50, replace = TRUE) x <- matrix(rnorm(50*3),ncol=3) #プロットラベルの作成 lab <- c("small", "bigger", "biggest") #プロット scatterplot3js(x, color = rainbow(50), labels = lab[i], size = i, renderer = "canvas") [/code]


出力例

なお、一部のスマートフォンではインタラクティブには表示されません。パソコンで確認してください。なお、chromeで動作確認をしています。
参考1
クリックすると大きく表示されます。

参考2
クリックすると大きく表示されます。


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

スポンサードリンク

関連コンテンツ


スポンサードリンク