I do not think the mail server accepts .jpg formats which was the format in which I got your attachment the first time (because of your having copied me directly.) I don't see much need to send a pdf because the code you offered does work and the data made it through (because .txt and .pdf are types that the mailserver accepts.)

Back in 2007 Sarkar suggested that it would be possible to project grids on the walls of the bounding box but since the original poster did not reply, it appears Sarkar did not deliver a worked solution.

http://finzi.psych.upenn.edu/R/Rhelp02/archive/95759.html

And then in 2008 he referred the questioner to the section of the Lattice examples I earlier cited:

http://finzi.psych.upenn.edu/Rhelp10/2008-October/176466.html

--
David.

On Apr 9, 2010, at 3:27 PM, array chip wrote:

Sorry the example plot didn't go through last time, here it is:

Thanks

John

--- On Fri, 4/9/10, array chip <arrayprof...@yahoo.com> wrote:

From: array chip <arrayprof...@yahoo.com>
Subject: Re: [R] 3-D response surface using wireframe()
To: "David Winsemius" <dwinsem...@comcast.net>, "Felix Andrews" <fe...@nfrac.org >
Cc: r-help@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 <fe...@nfrac.org>
wrote:

From: Felix Andrews <fe...@nfrac.org>
Subject: Re: [R] 3-D response surface using
wireframe()
To: "David Winsemius" <dwinsem...@comcast.net>
Cc: "array chip" <arrayprof...@yahoo.com>,
r-help@r-project.org
Date: Thursday, April 8, 2010, 9:56 PM
On 9 April 2010 11:18, David
Winsemius <dwinsem...@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 <dwinsem...@comcast.net>
wrote:

From: David Winsemius <dwinsem...@comcast.net>
Subject: Re: [R] 3-D response surface
using
wireframe()
To: "array chip" <arrayprof...@yahoo.com>
Cc: r-help@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
<dwinsem...@comcast.net>

wrote:

From: David Winsemius <dwinsem...@comcast.net>
Subject: Re: [R] 3-D response
surface
using

wireframe()

To: "array chip" <arrayprof...@yahoo.com>
Cc: r-help@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 <dwinsem...@comcast.net>

wrote:

From: David Winsemius
<dwinsem...@comcast.net>
Subject: Re: [R] 3-D
response
surface

using

wireframe()

To: "array chip" <arrayprof...@yahoo.com>
Cc: r-help@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@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@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.andr...@anu.edu.au
CRICOS Provider No. 00120C
--
http://www.neurofractal.org/felix/




-----Inline Attachment Follows-----

______________________________________________
R-help@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.



______________________________________________
R-help@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

______________________________________________
R-help@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.

Reply via email to