[R] {graphics} persp() : 3次元図を作成(プロット)する関数

Rで3次元図を描画するためには常套句がある。

# Rにおける3次元プロットの常套句
x <- seq(0, 10, 0.5)
y <- seq(-5, 5 ,0.5)
f <- function(x,y){ 10+3*x+5*y+7*x*y }
z <- outer(x, y, f)
persp(x, y, z, theta=30, phi=30)

3次元図を描画するには当然ながら描画する点の3次元座標が必要である。

各点ごとに(x,y,z)の値があり、そのような点が複数ある。

Rで描画する際にはこれら複数の点に関して、x座標の値だけを集めたベクトル、y座標の値だけを集めたベクトル、z座標の値だけを集めたベクトルをそれぞれ作成し、persp()という関数に渡せばよい。

persp()関数のthetaは図の横回転の角度、phiは縦回転の角度を指定する。

なお上記のスクリプトの結果は以下の図となる。

3d