本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

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

ぐりぐり動かすことができる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
クリックすると大きく表示されます。

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

このコードの続きをAIに聞く

スポンサーリンク
Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.