I am working on plotting a response surface using wireframe(). The default style/orientation is z | | y | \ | \ | \ | \ | \ | \ | \ | \|________________x 0 Now what I want the orientation of axes is: z | | | | | /0\ / \ / \ / \ / \ / \ y z My understanding is that the screen=list(z=,y=,x=) control the orientation of axes, but even after reading the help page of screen argument, I still don't understand how to use it. screen: "A list determining the sequence of rotations to be applied to the data before being plotted. The initial position starts with the viewing point along the positive z-axis, and the x and y axes in the usual position. Each component of the list should be named one of "x", "y" or "z" (repititions are allowed), with their values indicating the amount of rotation about that axis in degrees." Can anyone explain to me how the screen argument works? And what values (x,y,z) I should choose for the orientation that I want? Another question is wireframe(0 will draw all 8 edges of the cubic by default, is there anyway that I can control what edges I can draw, what I can hide? thanks very much! John
Dear listmates, could anybody help me on how to do? simultaneous plots? for instance: plot(x,y) plot(x,z) but my intention is to plot both of them simultaneously in the same graphic. Thanks in advance, Alexandre.
A search with the following strategy: RSiteSearch("lattice wireframe rotate axes") Followed by adding requests to search earlier years' archives produced this link which has a further link to a document that answers most of your questions, at least the ones that are comprehensible: http://tolstoy.newcastle.edu.au/R/e2/help/07/03/12534.html -- David. On Apr 6, 2010, at 7:12 PM, array chip wrote:> I am working on plotting a response surface using wireframe(). The > default style/orientation is > > z > | > | > y | > \ | > \ | > \ | > \ | > \ | > \ | > \ | > \|________________x > 0 > > Now what I want the orientation of axes is: > > z > | > | > | > | > | > /0\ > / \ > / \ > / \ > / \ > / \ > y zTwo z axes? How interesting!> > My understanding is that the screen=list(z=,y=,x=) control the > orientation of axes, but even after reading the help page of screen > argument, I still don't understand how to use it. > > screen: "A list determining the sequence of rotations to be applied > to the data before being plotted. The initial position starts with > the viewing point along the positive z-axis, and the x and y axes in > the usual position. Each component of the list should be named one > of "x", "y" or "z" (repititions are allowed), with their values > indicating the amount of rotation about that axis in degrees." > > Can anyone explain to me how the screen argument works? And what > values (x,y,z) I should choose for the orientation that I want? > > Another question is wireframe(0 will draw all 8 edges of the cubic > by default, is there anyway that I can control what edges I can > draw, what I can hide? > > thanks very much! > > John > > ______________________________________________ > 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.David Winsemius, MD West Hartford, CT
Regarding the screen argument in wireframe(), here is what I understand about how it works after much trial-and-error: After each rotation, new axes are in effect defined for the next rotation as at the start: x is to the right of the 2D view, y is towards the top, and z is positive out of the page towards you. Understanding this "reset" of coordinate system after each rotation is key to understanding how the sequence of rotations will be done. Rotations follow the right-hand rule: positive angles follow curved fingers of right hand, with thumb pointing in positive direction of associated axis. I labeled a wooden block with axes and turned it in my hand to help me make the initial guess at the sequence of rotations I would want for a given view. Scott Waichler Pacific Northwest National Laboratory P.O. Box 999, Richland, WA 99352 scott.waichler at pnl.gov 509-372-4423, 509-341-4051 (cell)
Scott, This is a good explanation and a good practice. Thank you, John --- On Thu, 4/8/10, Waichler, Scott R <Scott.Waichler at pnl.gov> wrote:> From: Waichler, Scott R <Scott.Waichler at pnl.gov> > Subject: Re: 3-D response surface using wireframe() > To: "arrayprofile at yahoo.com" <arrayprofile at yahoo.com> > Cc: "r-help at r-project.org" <r-help at r-project.org> > Date: Thursday, April 8, 2010, 9:51 AM > Regarding the screen argument in > wireframe(), here is what I understand about how it works > after much trial-and-error: > > After each rotation, new axes are in effect defined for the > next rotation as at the start:? x is to the right of > the 2D view, y is towards the top, and z is positive out of > the page towards you.? Understanding this "reset" of > coordinate system after each rotation is key to > understanding how the sequence of rotations will be > done.? Rotations follow the right-hand rule:? > positive angles follow curved fingers of right hand, with > thumb pointing in positive direction of associated axis. > > I labeled a wooden block with axes and turned it in my hand > to help me make the initial guess at the sequence of > rotations I would want for a given view.? > > Scott Waichler > Pacific Northwest National Laboratory > P.O. Box 999, Richland, WA? 99352 > scott.waichler at pnl.gov > 509-372-4423, 509-341-4051 (cell) > > >
Hi David and Felix, Thank you very much for your suggestions. To be honest, this has become beyond my understanding of lattice plots now. I am relatively new to lattice plots, so have no idea how function within function works (for example, how does panel.3dpolygon() within panel.3d.wireframe() within wirefarme() works, totally have no clue. Felix, your example code of panel.3dpolygon() for volcano plot does what I want, but again, I don't know how to tweak your example to suit my case. I attached an example dataset, and an example of the plot that I wanted to make (especially those grid lines on the 3 bounding surfaces of the box, and if possible remove those front edges of the box to make it look like open). dat<-read.table("dat.txt",sep='\t',header=T,row.names=1) library(lattice) wireframe(z ~ x*y, data = dat, scales = list(arrows = FALSE, cex=0.9, col="black",font=3, tick.number=6, z=list(tick.number=10, tck=0.8,distance=0.8),x=list(tck=0.8,distance=0.6),y=list(tck=0.7,distance=0.6)), zlim=seq(-14,4,by=2), zlab=list(label="Z", rot=90,cex=0.9), xlab=list(label="X", rot=15.5), ylab=list(label="Y", rot=-33), drape = T, at=seq(min(dat$z),max(dat$z),length=50), col.regions=rgb(colorRamp(c("white", "red"))(seq(0, 1, length = 50)), max = 255), colorkey = F, par.box=list(lwd=2), ## line width of box screen = list(z = 210, x = -75, y = 5), scpos=list(x=9,y=5,z=2) ## where axes are draw ) Thank you all very much for the help. It's fun to learn. John --- On Thu, 4/8/10, Felix Andrews <felix at nfrac.org> wrote:> From: Felix Andrews <felix at nfrac.org> > Subject: Re: [R] 3-D response surface using wireframe() > To: "David Winsemius" <dwinsemius at comcast.net> > Cc: "array chip" <arrayprofile at yahoo.com>, r-help at r-project.org > Date: Thursday, April 8, 2010, 9:56 PM > On 9 April 2010 11:18, David > Winsemius <dwinsemius at comcast.net> > wrote: > > On Apr 8, 2010, at 8:29 PM, array chip wrote: > > > >> David, > >> > >> Thansk again! Sarkar's Lattice book is excellent > source for lattice. Here > >> is a link for all the figures and codes used in > the book. You example is > >> figure 13.7. > >> > >> http://lmdvr.r-forge.r-project.org/figures/figures.html > >> > >> I got the first point! For the second point below, > Figure 13.7 an > >> excellent example for projecting the 3D dataset > onto the bounding surface, > >> but it's not what I meant. I think I didn't > explain what I wanted clearly. > >> What I really wanted is a simple straight grid > lines across the tick marks > >> for 3 bounding surfaces of the box, not a > projection of the 3D dataset. Hope > >> I have explained clearly this time. > > > > You have not convinced me that I misunderstood what > you wanted. I figured > > that you would use something other than transforming > the data driven contour > > lines. But if you want to use a lattice function there > is a panel.grid, but > > I still suspect it will need to be 3dto3d transformed > onto one of the "lim" > > extremes. > > Might be a little easier to use panel.3dpolygon from > latticeExtra. > (or not) > e.g. something like > > wireframe(volcano, drape = TRUE, scales = list(arrows > FALSE), > ? panel.3d.wireframe = function(x,y,z,...) { > ? ? panel.3dwire(x,y,z,...) > ? ? panel.3dpolygon(x = rep(pretty(x), each = 3), > y = min(y), z > c(range(z),NA), > ? ? ? ? ? ? ? ? > ? ? ..., border="grey", lwd=2) > ? }) > > > > > >> > >> Many thanks > >> > >> John > >> > >> > >> --- On Thu, 4/8/10, David Winsemius <dwinsemius at comcast.net> > wrote: > >> > >>> From: David Winsemius <dwinsemius at comcast.net> > >>> Subject: Re: [R] 3-D response surface using > wireframe() > >>> To: "array chip" <arrayprofile at yahoo.com> > >>> Cc: r-help at r-project.org > >>> Date: Thursday, April 8, 2010, 3:46 PM > >>> > >>> On Apr 8, 2010, at 3:13 PM, array chip wrote: > >>> > >>>> David, > >>>> > >>>> That does the job! Thanks a lot. > >>>> > >>>> Now I am very very close to what I want. > Still have a > >>> > >>> couple of > >>>> > >>>> small adjustments to make. > >>>> > >>>> 1. I use drape=TRUE to draw grid and color > on the > >>> > >>> surface, is there > >>>> > >>>> a parameter to adjust the density of the > grid? > >>> > >>> If you mean the spacing between points, then > isn't that > >>> determined by > >>> the density of the gridded data arguments > before they get > >>> to the > >>> wireframe function? > >>> > >>>> > >>>> 2. Is there a way that I can add grid to > the axis > >>> > >>> surface? I mean > >>>> > >>>> the sides of the box, between x & y, > between x > >>> > >>> & z, and between y & > >>>> > >>>> z? And I need to choose which 3 side of > the box that I > >>> > >>> want to add > >>>> > >>>> grid? > >>> > >>> See Figure 13.7 of Sarkar's Lattice text for > an example of > >>> a panel > >>> function that collapses the contourLines of > the volcano > >>> dataset at the > >>> top bounding surface by using ltransform3dto3d > with a z > >>> argument of > >>> zlim.scaled[2]. I would think that a grid > could be 3dto3d > >>> transformed > >>> similarly. > >>> > >>> -- > >>> David. > >>> > >>>> > >>>> Thank you all for the help. It's fun to > play with > >>> > >>> wireframe > >>>> > >>>> John > >>>> > >>>> --- On Wed, 4/7/10, David Winsemius <dwinsemius at comcast.net> > >>> > >>> wrote: > >>>> > >>>>> From: David Winsemius <dwinsemius at comcast.net> > >>>>> Subject: Re: [R] 3-D response surface > using > >>> > >>> wireframe() > >>>>> > >>>>> To: "array chip" <arrayprofile at yahoo.com> > >>>>> Cc: r-help at r-project.org > >>>>> Date: Wednesday, April 7, 2010, 9:22 > PM > >>>>> > >>>>> On Apr 7, 2010, at 8:58 PM, array chip > wrote: > >>>>> > >>>>>> With the help document, i finally > find a set > >>> > >>> of values > >>>>> > >>>>> of for x=,y> >>>>>> > >>>>>> and z= in "screen" argument that > gives me the > >>> > >>> correct > >>>>> > >>>>> rotation of > >>>>>> > >>>>>> the plot. But now it plots x and y > axis (tick > >>> > >>> marks > >>>>> > >>>>> and labels) > >>>>>> > >>>>>> along the top of the plot. Is > there one way to > >>> > >>> plot x > >>>>> > >>>>> and y axis on > >>>>>> > >>>>>> the bottom of the plot? > >>>>> > >>>>> Look at the scpos argument to specify > the scales > >>> > >>> location. > >>>>> > >>>>> (Still > >>>>> lacking an example and therrefore > doing this from > >>> > >>> memory.) > >>>>> > >>>>> -- > >>>>> David > >>>>>> > >>>>>> Thanks > >>>>>> > >>>>>> John > >>>>>> > >>>>>> --- On Wed, 4/7/10, David > Winsemius <dwinsemius at comcast.net> > >>>>> > >>>>> wrote: > >>>>>> > >>>>>>> From: David Winsemius <dwinsemius at comcast.net> > >>>>>>> Subject: Re: [R] 3-D response > surface > >>> > >>> using > >>>>> > >>>>> wireframe() > >>>>>>> > >>>>>>> To: "array chip" <arrayprofile at yahoo.com> > >>>>>>> Cc: r-help at r-project.org > >>>>>>> Date: Wednesday, April 7, > 2010, 8:07 AM > >>>>>>> A search with the following > >>>>>>> strategy: > >>>>>>> > >>>>>>> RSiteSearch("lattice wireframe > rotate > >>> > >>> axes") > >>>>>>> > >>>>>>> Followed by adding requests to > search > >>> > >>> earlier > >>>>> > >>>>> years' > >>>>>>> > >>>>>>> archives produced this link > which has a > >>> > >>> further > >>>>> > >>>>> link to a > >>>>>>> > >>>>>>> document that answers most of > your > >>> > >>> questions, at > >>>>> > >>>>> least the > >>>>>>> > >>>>>>> ones that are comprehensible: > >>>>>>> > >>>>>>> http://tolstoy.newcastle.edu.au/R/e2/help/07/03/12534.html > >>>>>>> > >>>>>>> --David. > >>>>>>> > >>>>>>> On Apr 6, 2010, at 7:12 PM, > array chip > >>> > >>> wrote: > >>>>>>> > >>>>>>>> I am working on plotting a > response > >>> > >>> surface > >>>>> > >>>>> using > >>>>>>> > >>>>>>> wireframe(). The default > style/orientation > >>> > >>> is > >>>>>>>> > >>>>>>>> ? ? ? ? ?z > >>>>>>>> ? ? ? ? ?| > >>>>>>>> ? ? ? ? ?| > >>>>>>>> y ? ? ? | > >>>>>>>> \ ? ? ? | > >>>>>>>> \ ? ? ?| > >>>>>>>> ? ?\ > >>> > >>> ? | > >>>>>>>> > >>>>>>>> ? ? \ > >>> > >>> | > >>>>>>>> > >>> \ ? | > >>>>>>>> > >>>>>>>> ? ? ? \ > >>> > >>> | > >>>>>>>> > >>>>>>>> ? ? ? ?\ | > >>>>>>>> > >>>>> \|________________x > >>>>>>>> > >>>>>>>> ? ? ? ? ?0 > >>>>>>>> > >>>>>>>> Now what I want the > orientation of > >>> > >>> axes is: > >>>>>>>> > >>>>>>>> > >>>>>>> ? ?z > >>>>>>>> > >>>>>>> ? ?| > >>>>>>>> > >>>>>>> ? ?| > >>>>>>>> > >>>>>>> ? ?| > >>>>>>>> > >>>>>>> ? ?| > >>>>>>>> > >>>>>>> ? ?| > >>>>>>>> > >>>>>>> ? ? /0\ > >>>>>>>> > >>>>>>> / ? \ > >>>>>>>> > >>>>>>> ? ? / > >>> > >>> ? \ > >>>>>>>> > >>>>>>> / ? ? ? \ > >>>>>>>> > >>>>>>> ? ? / > >>>>> > >>>>> ? ?\ > >>>>>>>> > >>>>> ? ?/ > >>>>>>> > >>> ? \ > >>>>>>>> > >>> ? y > >>>>>>> > >>> ? z > >>>>>>> > >>>>>>> Two z axes? How interesting! > >>>>>>> > >>>>>>>> > >>>>>>>> My understanding is that > the > >>>>> > >>>>> screen=list(z=,y=,x=) > >>>>>>> > >>>>>>> control the orientation of > axes, but even > >>> > >>> after > >>>>> > >>>>> reading the > >>>>>>> > >>>>>>> help page of screen argument, > I still > >>> > >>> don't > >>>>> > >>>>> understand how > >>>>>>> > >>>>>>> to use it. > >>>>>>>> > >>>>>>>> screen: "A list > determining the > >>> > >>> sequence of > >>>>> > >>>>> rotations > >>>>>>> > >>>>>>> to be applied to the data > before being > >>> > >>> plotted. > >>>>> > >>>>> The initial > >>>>>>> > >>>>>>> position starts with the > viewing point > >>> > >>> along the > >>>>> > >>>>> positive > >>>>>>> > >>>>>>> z-axis, and the x and y axes > in the usual > >>>>> > >>>>> position. Each > >>>>>>> > >>>>>>> component of the list should > be named one > >>> > >>> of "x", > >>>>> > >>>>> "y" or "z" > >>>>>>> > >>>>>>> (repititions are allowed), > with their > >>> > >>> values > >>>>> > >>>>> indicating the > >>>>>>> > >>>>>>> amount of rotation about that > axis in > >>> > >>> degrees." > >>>>>>>> > >>>>>>>> Can anyone explain to me > how the > >>> > >>> screen > >>>>> > >>>>> argument > >>>>>>> > >>>>>>> works? And what values (x,y,z) > I should > >>> > >>> choose for > >>>>> > >>>>> the > >>>>>>> > >>>>>>> orientation that I want? > >>>>>>>> > >>>>>>>> Another question is > wireframe(0 will > >>> > >>> draw all > >>>>> > >>>>> 8 edges > >>>>>>> > >>>>>>> of the cubic by default, is > there anyway > >>> > >>> that I > >>>>> > >>>>> can control > >>>>>>> > >>>>>>> what edges I can draw, what I > can hide? > >>>>>>>> > >>>>>>>> thanks very much! > >>>>>>>> > >>>>>>>> John > >>>>>>>> > >>>>>>>> > >>>>> > ______________________________________________ > >>>>>>>> > >>>>>>>> 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. > >>>>>>> > >>>>>>> David Winsemius, MD > >>>>>>> West Hartford, CT > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>> > >>>>> David Winsemius, MD > >>>>> West Hartford, CT > >>>>> > >>>>> > >>>> > >>>> > >>>> > >>> > >>> David Winsemius, MD > >>> West Hartford, CT > >>> > >>> > >> > >> > >> > >> > > > > David Winsemius, MD > > West Hartford, CT > > > > ______________________________________________ > > 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. > > > > > > -- > Felix Andrews / ??? > Postdoctoral Fellow > Integrated Catchment Assessment and Management (iCAM) > Centre > Fenner School of Environment and Society [Bldg 48a] > The Australian National University > Canberra ACT 0200 Australia > M: +61 410 400 963 > T: + 61 2 6125 4670 > E: felix.andrews at anu.edu.au > CRICOS Provider No. 00120C > -- > http://www.neurofractal.org/felix/ >-------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: dat.txt URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20100409/5d847107/attachment.txt>
Sorry the example plot didn't go through last time, here it is: Thanks John --- On Fri, 4/9/10, array chip <arrayprofile at yahoo.com> wrote:> From: array chip <arrayprofile at yahoo.com> > Subject: Re: [R] 3-D response surface using wireframe() > To: "David Winsemius" <dwinsemius at comcast.net>, "Felix Andrews" <felix at nfrac.org> > Cc: r-help at r-project.org > Date: Friday, April 9, 2010, 1:09 PM > Hi David and Felix, > > Thank you very much for your suggestions. To be honest, > this has become beyond my understanding of lattice plots > now. I am relatively new to lattice plots, so have no idea > how function within function works (for example, how does > panel.3dpolygon() within panel.3d.wireframe() within > wirefarme() works, totally have no clue. > > Felix, your example code of panel.3dpolygon() for volcano > plot does what I want, but again, I don't know how to tweak > your example to suit my case. > > I attached an example dataset, and an example of the plot > that I wanted to make (especially those grid lines on the 3 > bounding surfaces of the box, and if possible remove those > front edges of the box to make it look like open). > > dat<-read.table("dat.txt",sep='\t',header=T,row.names=1) > > library(lattice) > wireframe(z ~ x*y, data = dat, > scales = list(arrows = FALSE, cex=0.9, col="black",font=3, > tick.number=6, z=list(tick.number=10, > tck=0.8,distance=0.8),x=list(tck=0.8,distance=0.6),y=list(tck=0.7,distance=0.6)), > zlim=seq(-14,4,by=2), > zlab=list(label="Z", rot=90,cex=0.9), > xlab=list(label="X", rot=15.5), > ylab=list(label="Y", rot=-33), > drape = T, > at=seq(min(dat$z),max(dat$z),length=50), > col.regions=rgb(colorRamp(c("white", "red"))(seq(0, 1, > length = 50)), max = 255), > colorkey = F, > par.box=list(lwd=2), ## line width of box > screen = list(z = 210, x = -75, y = 5), > scpos=list(x=9,y=5,z=2) ## where axes are draw > ) > > Thank you all very much for the help. It's fun to learn. > > John > > --- On Thu, 4/8/10, Felix Andrews <felix at nfrac.org> > wrote: > > > From: Felix Andrews <felix at nfrac.org> > > Subject: Re: [R] 3-D response surface using > wireframe() > > To: "David Winsemius" <dwinsemius at comcast.net> > > Cc: "array chip" <arrayprofile at yahoo.com>, > r-help at r-project.org > > Date: Thursday, April 8, 2010, 9:56 PM > > On 9 April 2010 11:18, David > > Winsemius <dwinsemius at comcast.net> > > wrote: > > > On Apr 8, 2010, at 8:29 PM, array chip wrote: > > > > > >> David, > > >> > > >> Thansk again! Sarkar's Lattice book is > excellent > > source for lattice. Here > > >> is a link for all the figures and codes used > in > > the book. You example is > > >> figure 13.7. > > >> > > >> http://lmdvr.r-forge.r-project.org/figures/figures.html > > >> > > >> I got the first point! For the second point > below, > > Figure 13.7 an > > >> excellent example for projecting the 3D > dataset > > onto the bounding surface, > > >> but it's not what I meant. I think I didn't > > explain what I wanted clearly. > > >> What I really wanted is a simple straight > grid > > lines across the tick marks > > >> for 3 bounding surfaces of the box, not a > > projection of the 3D dataset. Hope > > >> I have explained clearly this time. > > > > > > You have not convinced me that I misunderstood > what > > you wanted. I figured > > > that you would use something other than > transforming > > the data driven contour > > > lines. But if you want to use a lattice function > there > > is a panel.grid, but > > > I still suspect it will need to be 3dto3d > transformed > > onto one of the "lim" > > > extremes. > > > > Might be a little easier to use panel.3dpolygon from > > latticeExtra. > > (or not) > > e.g. something like > > > > wireframe(volcano, drape = TRUE, scales = list(arrows > > > FALSE), > > ? panel.3d.wireframe = function(x,y,z,...) { > > ? ? panel.3dwire(x,y,z,...) > > ? ? panel.3dpolygon(x = rep(pretty(x), each = 3), > > y = min(y), z > > c(range(z),NA), > > ? ? ? ? ? ? ? ? > > ? ? ..., border="grey", lwd=2) > > ? }) > > > > > > > > > >> > > >> Many thanks > > >> > > >> John > > >> > > >> > > >> --- On Thu, 4/8/10, David Winsemius <dwinsemius at comcast.net> > > wrote: > > >> > > >>> From: David Winsemius <dwinsemius at comcast.net> > > >>> Subject: Re: [R] 3-D response surface > using > > wireframe() > > >>> To: "array chip" <arrayprofile at yahoo.com> > > >>> Cc: r-help at r-project.org > > >>> Date: Thursday, April 8, 2010, 3:46 PM > > >>> > > >>> On Apr 8, 2010, at 3:13 PM, array chip > wrote: > > >>> > > >>>> David, > > >>>> > > >>>> That does the job! Thanks a lot. > > >>>> > > >>>> Now I am very very close to what I > want. > > Still have a > > >>> > > >>> couple of > > >>>> > > >>>> small adjustments to make. > > >>>> > > >>>> 1. I use drape=TRUE to draw grid and > color > > on the > > >>> > > >>> surface, is there > > >>>> > > >>>> a parameter to adjust the density of > the > > grid? > > >>> > > >>> If you mean the spacing between points, > then > > isn't that > > >>> determined by > > >>> the density of the gridded data > arguments > > before they get > > >>> to the > > >>> wireframe function? > > >>> > > >>>> > > >>>> 2. Is there a way that I can add grid > to > > the axis > > >>> > > >>> surface? I mean > > >>>> > > >>>> the sides of the box, between x & > y, > > between x > > >>> > > >>> & z, and between y & > > >>>> > > >>>> z? And I need to choose which 3 side > of > > the box that I > > >>> > > >>> want to add > > >>>> > > >>>> grid? > > >>> > > >>> See Figure 13.7 of Sarkar's Lattice text > for > > an example of > > >>> a panel > > >>> function that collapses the contourLines > of > > the volcano > > >>> dataset at the > > >>> top bounding surface by using > ltransform3dto3d > > with a z > > >>> argument of > > >>> zlim.scaled[2]. I would think that a > grid > > could be 3dto3d > > >>> transformed > > >>> similarly. > > >>> > > >>> -- > > >>> David. > > >>> > > >>>> > > >>>> Thank you all for the help. It's fun > to > > play with > > >>> > > >>> wireframe > > >>>> > > >>>> John > > >>>> > > >>>> --- On Wed, 4/7/10, David Winsemius > <dwinsemius at comcast.net> > > >>> > > >>> wrote: > > >>>> > > >>>>> From: David Winsemius <dwinsemius at comcast.net> > > >>>>> Subject: Re: [R] 3-D response > surface > > using > > >>> > > >>> wireframe() > > >>>>> > > >>>>> To: "array chip" <arrayprofile at yahoo.com> > > >>>>> Cc: r-help at r-project.org > > >>>>> Date: Wednesday, April 7, 2010, > 9:22 > > PM > > >>>>> > > >>>>> On Apr 7, 2010, at 8:58 PM, array > chip > > wrote: > > >>>>> > > >>>>>> With the help document, i > finally > > find a set > > >>> > > >>> of values > > >>>>> > > >>>>> of for x=,y> > >>>>>> > > >>>>>> and z= in "screen" argument > that > > gives me the > > >>> > > >>> correct > > >>>>> > > >>>>> rotation of > > >>>>>> > > >>>>>> the plot. But now it plots x > and y > > axis (tick > > >>> > > >>> marks > > >>>>> > > >>>>> and labels) > > >>>>>> > > >>>>>> along the top of the plot. > Is > > there one way to > > >>> > > >>> plot x > > >>>>> > > >>>>> and y axis on > > >>>>>> > > >>>>>> the bottom of the plot? > > >>>>> > > >>>>> Look at the scpos argument to > specify > > the scales > > >>> > > >>> location. > > >>>>> > > >>>>> (Still > > >>>>> lacking an example and > therrefore > > doing this from > > >>> > > >>> memory.) > > >>>>> > > >>>>> -- > > >>>>> David > > >>>>>> > > >>>>>> Thanks > > >>>>>> > > >>>>>> John > > >>>>>> > > >>>>>> --- On Wed, 4/7/10, David > > Winsemius <dwinsemius at comcast.net> > > >>>>> > > >>>>> wrote: > > >>>>>> > > >>>>>>> From: David Winsemius > <dwinsemius at comcast.net> > > >>>>>>> Subject: Re: [R] 3-D > response > > surface > > >>> > > >>> using > > >>>>> > > >>>>> wireframe() > > >>>>>>> > > >>>>>>> To: "array chip" <arrayprofile at yahoo.com> > > >>>>>>> Cc: r-help at r-project.org > > >>>>>>> Date: Wednesday, April > 7, > > 2010, 8:07 AM > > >>>>>>> A search with the > following > > >>>>>>> strategy: > > >>>>>>> > > >>>>>>> RSiteSearch("lattice > wireframe > > rotate > > >>> > > >>> axes") > > >>>>>>> > > >>>>>>> Followed by adding > requests to > > search > > >>> > > >>> earlier > > >>>>> > > >>>>> years' > > >>>>>>> > > >>>>>>> archives produced this > link > > which has a > > >>> > > >>> further > > >>>>> > > >>>>> link to a > > >>>>>>> > > >>>>>>> document that answers > most of > > your > > >>> > > >>> questions, at > > >>>>> > > >>>>> least the > > >>>>>>> > > >>>>>>> ones that are > comprehensible: > > >>>>>>> > > >>>>>>> http://tolstoy.newcastle.edu.au/R/e2/help/07/03/12534.html > > >>>>>>> > > >>>>>>> --David. > > >>>>>>> > > >>>>>>> On Apr 6, 2010, at 7:12 > PM, > > array chip > > >>> > > >>> wrote: > > >>>>>>> > > >>>>>>>> I am working on > plotting a > > response > > >>> > > >>> surface > > >>>>> > > >>>>> using > > >>>>>>> > > >>>>>>> wireframe(). The default > > style/orientation > > >>> > > >>> is > > >>>>>>>> > > >>>>>>>> ? ? ? ? ?z > > >>>>>>>> ? ? ? ? ?| > > >>>>>>>> ? ? ? ? ?| > > >>>>>>>> y ? ? ? | > > >>>>>>>> \ ? ? ? | > > >>>>>>>> \ ? ? ?| > > >>>>>>>> ? ?\ > > >>> > > >>> ? | > > >>>>>>>> > > >>>>>>>> ? ? \ > > >>> > > >>> | > > >>>>>>>> > > >>> \ ? | > > >>>>>>>> > > >>>>>>>> ? ? ? \ > > >>> > > >>> | > > >>>>>>>> > > >>>>>>>> ? ? ? ?\ | > > >>>>>>>> > > >>>>> \|________________x > > >>>>>>>> > > >>>>>>>> ? ? ? ? ?0 > > >>>>>>>> > > >>>>>>>> Now what I want the > > orientation of > > >>> > > >>> axes is: > > >>>>>>>> > > >>>>>>>> > > >>>>>>> ? ?z > > >>>>>>>> > > >>>>>>> ? ?| > > >>>>>>>> > > >>>>>>> ? ?| > > >>>>>>>> > > >>>>>>> ? ?| > > >>>>>>>> > > >>>>>>> ? ?| > > >>>>>>>> > > >>>>>>> ? ?| > > >>>>>>>> > > >>>>>>> ? ? /0\ > > >>>>>>>> > > >>>>>>> / ? \ > > >>>>>>>> > > >>>>>>> ? ? / > > >>> > > >>> ? \ > > >>>>>>>> > > >>>>>>> / ? ? ? \ > > >>>>>>>> > > >>>>>>> ? ? / > > >>>>> > > >>>>> ? ?\ > > >>>>>>>> > > >>>>> ? ?/ > > >>>>>>> > > >>> ? \ > > >>>>>>>> > > >>> ? y > > >>>>>>> > > >>> ? z > > >>>>>>> > > >>>>>>> Two z axes? How > interesting! > > >>>>>>> > > >>>>>>>> > > >>>>>>>> My understanding is > that > > the > > >>>>> > > >>>>> screen=list(z=,y=,x=) > > >>>>>>> > > >>>>>>> control the orientation > of > > axes, but even > > >>> > > >>> after > > >>>>> > > >>>>> reading the > > >>>>>>> > > >>>>>>> help page of screen > argument, > > I still > > >>> > > >>> don't > > >>>>> > > >>>>> understand how > > >>>>>>> > > >>>>>>> to use it. > > >>>>>>>> > > >>>>>>>> screen: "A list > > determining the > > >>> > > >>> sequence of > > >>>>> > > >>>>> rotations > > >>>>>>> > > >>>>>>> to be applied to the > data > > before being > > >>> > > >>> plotted. > > >>>>> > > >>>>> The initial > > >>>>>>> > > >>>>>>> position starts with the > > viewing point > > >>> > > >>> along the > > >>>>> > > >>>>> positive > > >>>>>>> > > >>>>>>> z-axis, and the x and y > axes > > in the usual > > >>>>> > > >>>>> position. Each > > >>>>>>> > > >>>>>>> component of the list > should > > be named one > > >>> > > >>> of "x", > > >>>>> > > >>>>> "y" or "z" > > >>>>>>> > > >>>>>>> (repititions are > allowed), > > with their > > >>> > > >>> values > > >>>>> > > >>>>> indicating the > > >>>>>>> > > >>>>>>> amount of rotation about > that > > axis in > > >>> > > >>> degrees." > > >>>>>>>> > > >>>>>>>> Can anyone explain to > me > > how the > > >>> > > >>> screen > > >>>>> > > >>>>> argument > > >>>>>>> > > >>>>>>> works? And what values > (x,y,z) > > I should > > >>> > > >>> choose for > > >>>>> > > >>>>> the > > >>>>>>> > > >>>>>>> orientation that I want? > > >>>>>>>> > > >>>>>>>> Another question is > > wireframe(0 will > > >>> > > >>> draw all > > >>>>> > > >>>>> 8 edges > > >>>>>>> > > >>>>>>> of the cubic by default, > is > > there anyway > > >>> > > >>> that I > > >>>>> > > >>>>> can control > > >>>>>>> > > >>>>>>> what edges I can draw, > what I > > can hide? > > >>>>>>>> > > >>>>>>>> thanks very much! > > >>>>>>>> > > >>>>>>>> John > > >>>>>>>> > > >>>>>>>> > > >>>>> > > ______________________________________________ > > >>>>>>>> > > >>>>>>>> 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. > > >>>>>>> > > >>>>>>> David Winsemius, MD > > >>>>>>> West Hartford, CT > > >>>>>>> > > >>>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>> > > >>>>> David Winsemius, MD > > >>>>> West Hartford, CT > > >>>>> > > >>>>> > > >>>> > > >>>> > > >>>> > > >>> > > >>> David Winsemius, MD > > >>> West Hartford, CT > > >>> > > >>> > > >> > > >> > > >> > > >> > > > > > > David Winsemius, MD > > > West Hartford, CT > > > > > > ______________________________________________ > > > 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. > > > > > > > > > > > -- > > Felix Andrews / ??? > > Postdoctoral Fellow > > Integrated Catchment Assessment and Management (iCAM) > > Centre > > Fenner School of Environment and Society [Bldg 48a] > > The Australian National University > > Canberra ACT 0200 Australia > > M: +61 410 400 963 > > T: + 61 2 6125 4670 > > E: felix.andrews at anu.edu.au > > CRICOS Provider No. 00120C > > -- > > http://www.neurofractal.org/felix/ > > > > > ? ? ? > -----Inline Attachment Follows----- > > ______________________________________________ > 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. >