perspで色づけ

MikuHatsune2011-02-06

NKがplot3dで色づけしている。
オレのPCでplot3dをやると、たいていクラッシュするから、perspをよく使っている。
だがしかし、z座標が大きい順に暖色〜寒色にしようとすると、rainbowはようわからん。
困ったときの

help(persp)
xl<- 15
yl<- 20
Ms<- 50
x<- dpois(0:Ms,xl)
x<- x/sum(x)
y<- dpois(0:Ms,yl)
y<- y/sum(y)
z<- x%*%t(y)
range<- prod(dim(z))
par(bg = "white")
nrz <- nrow(z)
ncz <- ncol(z)
jet.colors <- colorRampPalette( c("blue","green","yellow", "red") ) 
nbcol<- range
color <- jet.colors(nbcol)
zfacet <- z[-1, -1] + z[-1, -ncz] + z[-nrz, -1] + z[-nrz, -ncz]
facetcol <- cut(zfacet, nbcol)
persp(z, col=color[facetcol], phi=30, theta=60)