Deepayan,
Thanks for the helpful responses to my questions. I've provided users
with another example of
how to use and customize you wireframe plot. I needed to generate
graphics for scientific
presentations and posters. The line colors, line width, font size, font
orientation, etc... were
important in making consistent and printable color graphics.
In my opinion, the lattice package is powerful, flexible and useable.
Thanks for the well designed
package.
Matt
------------------------------
My raw 2d curve data is generated in the following input format:
"X" "Y" "Z"
X_1 Y_1 Z_11
X_1 Y_2 Z_12
X_1 Y_3 Z_13
X_2 Y_1 Z_21
X_2 Y_2 Z_22
X_2 Y_3 Z_23
The code snippet below generates this warning, which I haven't corrected,
but the resulting
graphics look properly generated anyway:
> Warning message:
> longer object length
> is not a multiple of shorter object length in: labs[, 3] * (1 +
scales.3d$z.scales$distance/3)
# CODE SNIP
# --------------------
library(lattice)
library(grid)
# demo data
x <- 1:ncol(volcano);
y <- 1:nrow(volcano);
grid <- expand.grid(x=x, y=y);
for (i in 0:(length(x)-1))
grid$z[((i*length(x))+1):((i+1)*length(x))] <-volcano[i+1,];
z <- grid$z;
wirecolor <- "black";
wirelwd <- 0.5;
fontcex <- 2.3;
par.set <- list(axis.line = list(col = "transparent"), clip =
list(panel
= FALSE));
wf <- wireframe(z~x*y, grid,
aspect=c(1, 0.75), screen=list(z=-50, x=-45), zoom=1.03,
perspective=TRUE, distance=0.5,
drape=TRUE, colorkey=TRUE, col.regions=topo.colors(100),
lwd=wirelwd, col=wirecolor,
par.box=list(lwd=3, lty=1), scales=list(z=list(arrows=TRUE,
distance=c(0.5, 0.5)),
arrows=FALSE, cex=2, col="black"),
xlab=list(label="X_LABEL", cex=fontcex, rot=-53),
ylab=list(label="Y_LABEL", cex=fontcex, rot=+43),
zlab=list(label="Z_LABEL", cex=fontcex, rot=-71),
xlim=c(min(x), max(x)), ylim=c(min(y), max(y)), zlim=c(min(z), max(z)),
par.settings = par.set);
pushViewport(viewport(x=unit(4.40, "inches"), y=unit(4.0,
"inches")));
print(wf, newpage=FALSE);
popViewport();
==============Original message text==============On Thu, 11 May 2006 11:25:53
EDT "Deepayan Sarkar" wrote:
On 5/11/06, sundlm@rpi.edu <sundlm@rpi.edu> wrote:> > > I am using the lattice packge for its levelplot and contourplot.
Is it
> > > possible to adjust the line thickness of the 'box' and
tickmarks in
> these
> > > plots?
> >
> > Yes, e.g.
> >
> > levelplot(volcano, par.settings = list(axis.line = list(lwd = 3)))
> >
> > The actual width of the box is actually half the advertised value
> > because of clipping.
>
>
> Exactly what I needed, I appreciate the help. Using your example, I've
> gained a significant amount
> of control over the look of my plots.
>
> Is there a way to print just a colorkey (maybe using draw.colorkey?)
> without a plot? I like the way a
> levelplot looks with it's colorkey, but I need to generate the plot and
> colorkey in separate devices
> (separate .ps files). Is this possible?
Sure, e.g.
library(lattice)
library(grid)
draw.colorkey(key = list(at = 0:50), draw = TRUE, vp = viewport(height = 0.9))
If you need to, you can access the value of 'key' from a levelplot
object; try
levelplot(volcano)$legend$right$args
This is undocumented though, and not guaranteed (but likely) to remain
unchanged.
Deepayan
===========End of original message text===========