[R] lattice question: independent per-row or per-column scaling?
Chuck Cleland
ccleland at optonline.net
Mon Jan 19 15:47:42 CET 2009
On 1/19/2009 8:51 AM, hadley wickham wrote:
> On Thu, Jan 8, 2009 at 11:25 AM, René J.V. Bertin <rjvbertin at gmail.com> wrote:
>> Hello - and happy newyear to all of you!
>>
>> I've got some data that I'm plotting with bwplot, a 3x2x3 design where
>> the observable decreases with the principle independent factor, but at
>> different rates.
>>
>> I'd like to get lattice to impose not a single set of axes ranges
>> identical for all panels, but ranges that are identical for each panel
>> row or each column. Effects will stand out much better like that.
>>
>> I've looked through the documentation of the latest lattice version,
>> but I don't see a way to achieve this with a simple argument passed to
>> bwplot. Can it be done otherwise and if so, how?
The argument for xlim or ylim can be a list. Here is the key part of
the help page for xyplot:
xlim could also be a list, with as many components as the number of
panels (recycled if necessary), with each component as described above.
This is meaningful only when scales$x$relation is "free" or "sliced", in
which case these are treated as if they were the corresponding limit
components returned by prepanel calculations.
Here is a little example:
library(lattice)
mdf <- data.frame(X1 = rep(LETTERS[1:3], each = 100*2*3),
X2 = rep(c("J","K"), 900),
X3 = rep(LETTERS[24:26], 100*3*2),
Y = c(runif(600, min=.01,max=.32),
runif(600, min=.33,max=.65),
runif(600, min=.66,max=.99)))
bwplot(Y ~ X3 | X2*X1, data = mdf,
layout=c(2,3,1),
ylim=as.data.frame(matrix(c(.01,.32,
.01,.32,
.33,.65,
.33,.65,
.66,.99,
.66,.99), nrow=2)),
scales=list(y=list(relation="free")))
> It's not lattice, but you can do this with ggplot2 - see the examples
> for http://had.co.nz/ggplot2/facet_grid.html
>
> Regards,
>
> Hadley
--
Chuck Cleland, Ph.D.
NDRI, Inc. (www.ndri.org)
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894
More information about the R-help
mailing list