From: Deepayan Sarkar <deepayan.sarkar_at_gmail.com>

Date: Wed 12 Oct 2005 - 06:42:31 EST

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Wed Oct 12 06:49:32 2005

Date: Wed 12 Oct 2005 - 06:42:31 EST

On 10/11/05, Gabor Grothendieck <ggrothendieck@gmail.com> wrote:

> The code below displays three graphs in three rows and one column but:

*>
**> 1. I want to remove the space between the graphs (I tried playing with position=
**> arg to print.trellis but it seems quite difficult to get the right
**> values and all
**> my attempts had space between them or had overlapping graphs. Is
**> there a better way to do this?
*

Define

theme.novpadding <- list(layout.heights =

list(top.padding = 0,

main.key.padding = 0, key.axis.padding = 0, axis.xlab.padding = 0, xlab.key.padding = 0, key.sub.padding = 0, bottom.padding = 0))

and then add

par.settings = theme.novpadding

to all your xyplot calls.

> 2. the widths of the plots are not the same even though I specified the same

*> xlim= to them all. How do I make them the same?
*

They seem to be the same for me, but they might be different if the y-axis labels are different. See the 'panel.width' argument in ?print.trellis.

> 3. how do I get rid of the ticks at the top of the bottom plot?

add

scales = list(x = list(relation = "free"))

> 4. the bottom graph is supposed to plot 1:3 against itself but the third

*> point is not showing even though I specified ylim = c(0,3). Must
**> I specify ylim = c(0,3+1) or is there a better way?
*

There's no better way. This behaviour is intentionally different from base graphics.

Here's a modified version of the last part of your code:

grid.newpage()

# n and nr are number of cells and rows

n <- nr <- 3

nc <- 1 # must be 1

heights <- unit(c(2, rep(1, nr-1)), "null") downViewport(pushLayout(nr, nc, heights = heights))

vpt <- current.vpTree(all = FALSE)

### relevant part starts here

#########################

xlab <- main <- function(x) if (x) "v"

for(k in 1:n) with(vpt$children[[k]],

print( xyplot(v ~ v, list(v = 1:k), xlab = xlab(k == n), xlim = c(0,n), ylim = c(0,n), main = main(k == 1), par.settings = theme.novpadding, scales = list(x = list(draw = k == n, relation = "free", c(1, 0)), y = list(alternating = 3))), newpage = FALSE, panel.width = list(x = 4, units = "inches")))

-Deepayan

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Wed Oct 12 06:49:32 2005

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:40:41 EST
*