# [Rd] Bug: persp and colors (PR#1476)

**Paul Murrell
**
p.murrell@auckland.ac.nz

*Wed, 24 Apr 2002 12:07:46 +1200*

Hi
>* I am working with the persp command. I want to change to color of the
*facets
>* according
*>* to their z-value. The colors seems to be transposed, i.e. the color of a
*facet A
>* seems
*>* to be used for a facet B which is a (defined?) way off....
*>*
*>* An example:
*>*
*>* nx <- 21
*>* ny <- 21
*>* x <- seq(-1, 1, length = nx)
*>* y <- seq(-1, 1, length = ny)
*>* z <- outer(x, y, function(x,y) x^2 + y^2)
*>* hgt <- z / max(z)
*>* persp(x, y, z, col = gray(1 - hgt), theta = 70, phi = 40, expand = 0.4)
*>*
*>* Now the z-value should define the color, but the color pattern seems to be
*>* moved.
*
I don't think this is a bug -- I think the problem is that the surface
produced for the z of dimension 21x21 has only 20x20 facets. For example,
the following is not a solution, but it shows that a 20x20 colour matrix
produces the expected result ...
persp(x, y, z, col = gray(hgt[1:20,1:20]), theta = 0, phi = 40, expand =
0.4)
... now, what you really want I guess is to calculate hgt to be some
interpolation of the four z values at the four corners of each face. I am
due somewhere so this calculation is left as an exercise ...
Paul
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._