For a working example of this see persp.gam() in package mgcv. This

uses repeated calls to the persp() command to plot the gam response

surface and the +/- standard errors of the fit.

The important thing is setting the x and y limits correctly for the

first plot so that the second call the plot will fit "on top of" the

first.

Gavin

-----Original Message-----

From: owner-r-help at stat.math.ethz.ch

[mailto:owner-r-help at stat.math.ethz.ch] On Behalf Of Mike Lonergan

Sent: 18 March 2002 14:35

To: R help

Subject: RE: [R] persp(): add second plane (second, long question)

Nina,

There is a very crude approach that works fine for me.

persp(z1)

par(new=TRUE)

persp(z2)

The plot of z2 should be superimposed on that of z1. (I think someone

here

explained to me about new=TRUE, it basically makes R think it is faced

with

a clean page and therefore not wipe it before drawing the new stuff). As

long as the x/y/zlims etc all match you should get what you need.

Hopefully.

(Though the more sophisticated solutions do sound much nicer & more

flexible).

Have fun,

Mike.

-----Original Message-----

From: owner-r-help at stat.math.ethz.ch

[mailto:owner-r-help at stat.math.ethz.ch]On Behalf Of Nina Lieske

Sent: 18 March 2002 11:51

To: r-help at stat.math.ethz.ch

Subject: RE:[R] persp(): add second plane (second, long question)

>

>

Thank you for your replies so far. >

Sorry for bothering you again, but I'm still not able to get

what I need as

I don't understand all parts of the replies (just using R for easy

things....).

Is there a code for plane3d() like some of you sent me for

points3d()? I was

not able to get that out of the scatterplot3d package... >

What I can do is to get the x,y and z-range for the

xlim,ylim and zlim so

that the two planes would fit the box (x and y values are

the same for both

(1x6vectors)). And I'm able to store the z-values in two

different matrices

(6x6). >

What I did then is

>

xachse<-c(1:6)

yachse<-xachse

> >

> >

trans3d <- function(x,y,z,pmat) {

+ tmat <- t((cbind(x,y,z,1)%*% pmat))

+ list(x=tmat[1,]/tmat[4,],y=tmat[2,]/tmat[4,])

+ }

pmat <- persp(xachse, yachse,

betaon1.median.plot,zlim=c(2.75,3.30), theta

= 60, phi = 20,

+ col = "lightblue", xlab = "X", ylab = "Y",

zlab = "Z",

+ ticktype="detailed") >

This generates a plot for one sample of z-values with enough

space for the

second plane. How do I now add the second plane? >

Thanks for your patience,

Nina

>

>

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

.-.-.-.-.-.-.-.-.-

r-help mailing list -- Read

http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.htmlSend "info", "help", or "[un]subscribe"

(in the "body", not the subject !) To:

r-help-request at stat.math.ethz.ch

_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

._._._._._._._._._

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

-.-.-.-

r-help mailing list -- Read

http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.htmlSend "info", "help", or "[un]subscribe"

(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch

_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._.

_._._._

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

r-help mailing list -- Read

http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.htmlSend "info", "help", or "[un]subscribe"

(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch

_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._