ぐりぐり動かすことができる3DのScatterPlot(散布図)を作成できる「threejs」パッケージを紹介します。散布図はデータの特徴を探るのに非常に有効な表現方法だと思います。
本パッケージ以外でも、インタラクティブな3DのScatterPlotを作成できますが、本パッケージは「画像を取り込み、画像ごとインタラクティブな球体図を手軽に作成できること」が特徴かと思います。
バージョンは0.3.3です。
面白いパッケージだと思います。ぜひ、試してみてください。
パッケージのインストール
下記、コマンドを実行してください。
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)
出力例
なお、一部のスマートフォンではインタラクティブには表示されません。パソコンで確認してください。なお、chromeで動作確認をしています。
参考1
クリックすると大きく表示されます。
参考2
クリックすると大きく表示されます。
少しでも、あなたのウェブや実験の解析が楽になりますように!!