文書の過去の版を表示しています。


3次元空間の曲面の描画

基本は関数persp。

z = matrix(c(0,0,0,
0,1,2,
0,2,4,
0,3,8,
0,4,16), ncol=3, byrow=TRUE)
x = c(0, 1, 2, 3, 4)
y = c(0, 1, 2)
persp(x, y, z)

上の関数を実行すると、次のグラフが描画される。

これに少し工夫を加えて、色を指定できる。

z.colors = colorRampPalette(c("blue", "yellow"))
z.color = z.colors(100)
zfacet = z[-1, -1] + z[-1, -3] + z[-5, -1] + z[-5, -3]
facetcol = cut(zfacet, 100)
persp(x, y, z, col = z.color[facetcol])

上のコードを実行すると、次のグラフが描画される。

同様のグラフは、GAパッケージの中の関数persp3Dを用いると、細かい設定なしに似たようなグラフを生成してもらえる。

install.packages("GA")
library(GA)
persp3D(x, y, z)

上のコードを実行すると、次のグラフが描画される。

細かいカスタマイズが可能な関数perspと、カスタマイズなしに少し見栄えのいい画像を生成してくれる関数persp3Dを、必要に応じて使い分けるといい。