三次元散布図

R の三次元散布図を作成する関数には、plot3dscatterplot3d などがある。plot3d は OpenGL を利用して立体図を描くため、マウスで図を回転したり、拡大縮小したりすることができる。一方で、scatterplot3d を利用して描いた立体図は、「立体っぽく」描かれて、回転したりすることはできない。

plot3d 関数の使い方

plot3d 関数は R の rgl パッケージに含まれている。

x <- rnorm(100, 2, 10)
y <- rnorm(100, 4, 10)
z <- rnorm(100, 6, 10)

plot3d(x, y, z)

rgl パッケージをインストールする時に発生するエラー

Ubuntu で rgl パッケージをインストールするとき、X11 に関するエラーが起こる場合がある。

configure: error: X11 not found but required, configure aborted.
ERROR: configuration failed for package ‘rgl’
configure: error: missing required header GL/gl.h
ERROR: configuration failed for package ‘rgl’

このとき、mesa 関連のライブラリーを Ubuntu にインストールするとエラーがなくなる。apt-get でインストールするとき、パッケージの依存が壊れているとかのエラーが出るようであれば、apt-getaptitude に書き換えてインストールするとうまく行く場合がある。

sudo apt-get install libgl1-mesa-dev
sudo apt-get install libgl1-mesa-swx11
sudo apt-get install libegl1-mesa
sudo apt-get install libegl1-mesa-*
sudo apt-get install libglu1-mesa
sudo apt-get install libglu1-*
sudo apt-get install libgles1
sudo apt-get install libopenvg1-mesa
sudo apt-get install libglu1-mesa-dev

scatterplot3d 関数の使い方

scatterplot3d は scatterplot3d パッケージに含まれている。

library(scatterplot3d)

x <- c(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4)
y <- c(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5)
z <- c(1, 6,11,16, 2, 7,12,17, 3, 8,13,18, 4, 9,14,19, 5,10,15,20)

scatterplot3d(x, y, z)
scatterplot3d関数によって描かれた三次元散布図です