perspは、xy平面上の透視投影図を描くbase-r標準の関数なのですが、今さらですが知ったので、使ってみました。
おなじみのvolcanoデータです。
image(volcano)
等高線で表示してみます。
contour(volcano)
で、persp関数を使って、こんな感じで表現できます。
persp(volcano, expand=0.4, shade=0.2, theta=12.2, phi=23.4)
色も付けられます。
persp(volcano, col = rainbow(30), expand=0.4, shade=0.2, theta=12.2, phi=23.4)
par(bg = "white") x <- seq(-1.95, 1.95, length = 30) y <- seq(-1.95, 1.95, length = 35) z <- outer(x, y, function(a, b) a*b^3) nrz <- nrow(z) ncz <- ncol(z) jet.colors <- colorRampPalette( c("green", "white", "yellow") ) nbcol <- 20 color <- jet.colors(nbcol) zfacet <- z[-1, -1] + z[-1, -ncz] + z[-nrz, -1] + z[-nrz, -ncz] facetcol <- cut(zfacet, nbcol) persp(x, y, z, col = color[facetcol], phi = 25, theta = -20)
xy平面に加え、高さデータも含めて自由に表現できます。Rは凄いですねえ。