[R] Possible to vary widths and/or heights of lattice panels?
Duncan Mackay
dulcalma at bigpond.com
Sun Dec 22 04:17:51 CET 2013
Hi Frank
I am not sure what you need as there are various alternatives
for starters
?latticeExtra::combineLimits
see
http://finzi.psych.upenn.edu/R/Rhelp02/archive/43612.html
http://finzi.psych.upenn.edu/R/Rhelp02/archive/43626.html
I tried to check that these were the correct urls but I do not know if the
server is down.
This is Deepyan's code
xyplot(as.numeric(variety) ~ yield | year * site, data = barley,
layout = c(6,2),
scales = list(y = list(relation = "free",
rot = 0,
limits = rep(list( c(0, 6), c( 5, 11 )),
c(6, 6)),
at = rep(list( 1:5, NULL, 6:10, NULL ),
c(1, 5, 1, 5) ))),
par.settings = list(layout.widths = list(axis.panel = rep(c(1, 0),
c(1, 5))))
)
Below is some code and templates for plots. I have stripped them down as
they are very long to get what I wanted particularly the large graph which
fitted on an A4 page
# varying ylimits
*********
# part of an a graph 5 rows x 7 cols
xyplot(GrowthMJ+I(SuppMJ+75)+GrowSuppMJ+Demand+Balance ~ Date, data =
balance,
as.table = T,
layout = c(1, 5),
outer = TRUE,
groups = gFarm,
strip = FALSE,
par.settings = list(layout.heights = list(panel =
c(55,15,55,20,60)/sum(c(55,15,20,55,60))) ), # see below
scales = list(x = list(alternating = FALSE),
y = list(alternating = FALSE,
relation = "free",
axs = "i",
limits = list(c(0,55000),
c(0, 5000),
c(0,55000),
c(0,20000),
c(-10000,50000) ),
at = list(seq(0,50000,10000),
seq(0, 4000, 2000),
seq(0,50000,10000),
seq(0,15000, 5000),
seq(-10000,40000,10000)
),
labels = list(as.character(seq(0,50,10)
),
as.character(seq(0, 4, 2)
),
as.character(seq(0,50,10)
),
as.character(seq(0,15, 5)
),
as.character(seq(-10,40,10)) ),
rot = 0)
),
# vary the panel heights: if limits c(0, max) then take max values for all
row limits and divide by sum
# If missing panels
# 3x3
coln <- number of columns
rown <- number of rows
par.settings = list(layout.heights = list(panel = 1), # vary the panel
heights:
...
scales = limits(y = list(
limits = rep(list(c(0,1), c(0,2), c(0,3)), ea = ncol),
at = rep(list(seq(0,1,0.5), NULL, seq(0,2,0.5), NULL, seq(0,3,1),
NULL), rep(c(1,ncol-1), nrow)),
labels = rep(list(seq(0,1,0.5), NULL, seq(0,2,0.5), NULL, seq(0,3,1),
NULL), rep(c(1,ncol-1), nrow))),
# varying xlimits
*********
# part of an example 3 x 3 panels
library(latticeExtra)
useOuterStrips
xyplot(GLoss+DLoss+LLoss ~ SRday|Farm, meb,
outer = TRUE,
par.settings = list(layout.widths = list(panel = c(0.25, 0.25, 0.5)), # sum
to 1 to vary the widths
scales = list(x = list(alternating = FALSE,
relation = "free",
limits = rep(list(c(-30, 250),
c(-30, 250),
c(-30, 550)), 3),
at = rep(list(NULL,
seq(0, 200, by = 50),
seq(0, 200, by = 50),
seq(0, 500, by = 100)),
c((3-1)*3, rep(1, 3)) ),
labels = rep(list(NULL,
paste(seq(0, 200, by = 50)),
paste(seq(0, 200, by = 50)),
paste(seq(0, 500, by = 100))),
c((3-1)*3, rep(1, 3)) ),
axs = "i",
rot = 0),
y = list(alternating = FALSE,
relation = "same",
rot = 0)
),
If you want further information you can contact me offline
Regards
Duncan
Duncan Mackay
Department of Agronomy and Soil Science
University of New England
Armidale NSW 2351
Email: home: mackay at northnet.com.au
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
Behalf Of Frank Harrell
Sent: Sunday, 22 December 2013 09:19
To: RHELP
Subject: [R] Possible to vary widths and/or heights of lattice panels?
Is it possible to vary the size of the panels in lattice within one page?
The examine I have in mind is a 3 row by 2 column display where I vary the
y-axis scales in a dot plot and there are only a few levels on the y-axis
for one of the rows. I'd like to remove wasted space in that row.
On a related issue
http://stackoverflow.com/questions/9654244/multipage-lattice-panel-arrangeme
nt
has some good information.
Thanks for any pointers.
Frank
______________________________________________
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.
More information about the R-help
mailing list