[R] can I draw 3D plot like this using R?

Duncan Murdoch murdoch at stats.uwo.ca
Thu Mar 12 11:51:26 CET 2009

On 11/03/2009 11:35 PM, Oliver wrote:
> hi, all
> I am looking at R package RGL to draw a colored mesh/surface plot like
> this one (from matlab).
> http://www.mathworks.com/access/helpdesk/help/techdoc/visualize/cbar.gif
> The key features I am looking for is surfaced with grid and color, but
> not the terrain-like gradient.  but I didn't come even close to it
> after browsing through rgl help file.

It is a little tricky to draw both lines and solid colours on a surface 
in rgl, because one will hide the other:  there's no way to turn off the 
hidden object removal in rgl.

The easiest way to do it would be to draw the grid slightly above the 
surface.  For example,

x <- seq(-2, 2, len=17)
y <- seq(-2, 2, len=17)
z <- outer(x,y, function(x,y) exp(-y^2)*sin(1.5*x))
color <- rainbow(41)[1+round(10*outer(x,y, function(x,y) x^2 + y^2))]

persp3d(x,y,z, color=color, smooth=FALSE)
surface3d(x,y,z+0.001, front="lines", back="culled")

(Fiddle with the 0.001 value if the grid disappears behind the surface, 
or floats too high above it.)

Another way would be to draw the grid (and maybe the colour) as a texture.

Duncan Murdoch

> have anyone drawn something like this before, is this doable afterall?
> thanks
> Oliver
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

More information about the R-help mailing list