Hi Oliver, These are my suggestions...
Option 1: use the playwith package (a GTK+ interface); Option 2: use the latticist package (a gWidgets interface, will be released in the next day or two); Option 3: use this code: plotOnePage <- function(x, page, ...) { stopifnot(inherits(x, "trellis")) n <- page if (is.null(x$layout)) { if (length(dim(x)) > 2) x$layout <- dim(x)[1:2] } if (!is.null(x$layout)) x$layout[3] <- 1 ## based on code by Deepayan Sarkar packet.panel.pageN <- function(..., page) packet.panel.default(..., page = page + n - 1) plot(x, packet.panel = packet.panel.pageN, ...) } npages <- function(x) { stopifnot(inherits(x, "trellis")) ## work out number of pages that would be plotted ## to display trellis object 'x' nPackets <- prod(dim(x)) ## by default, first two dimensions ## (conditioning variables) shown on each page nPanels <- prod(head(dim(x), 2)) ## but if an explicit 'layout' is given... if (!is.null(x$layout)) { nPanels <- x$layout[1] * x$layout[2] if (x$layout[1] == 0) nPanels <- x$layout[2] } ## TODO: what about 'skip'? nPages <- ceiling(nPackets / nPanels) nPages } plotEachPage <- function(x, ...) { for (i in seq(length = npages(x))) { dev.new(...) plotOnePage(x, i) } } foo <- barchart(Titanic, groups = FALSE) npages(foo) # 2 plotEachPage(foo) baz <- qqmath(~ state.x77[,"Income"] | state.region, layout = c(1,1)) npages(baz) # 4 plotEachPage(baz) 2008/11/3 Oliver Kimberlin <[EMAIL PROTECTED]>: > Hi List, > > This is possibly a newbie error. I have however searched long and hard > and haven't found a solution. > > I am attempting to plot multiple lattice graphs in R, plotting 4 per > page and moving on to a new device to plot the next 4 and so on. (I want > to do this in R and not export to a pdf etc) > > I notice that in S-PLUS multiple tabs are opened in one device, R does > not seem to have this capability and as I plot the next 4 graphs they > overwrite the previous 4. > > I imagine a 'for' loop could solve this by opening a new active device > at the end of the loop, but I feel this is inefficient and that there > must be a solution by modifying the lattice object. > > Let z be a lattice object. (histogram for example) > > Let the layout be. > > layout=cbind(c(1,2),c(3,4)) > > [,1] [,2] > > [1,] 1 3 > > [2,] 2 4 > > Print(z) > > Thus giving 4 graphs per page on multiple pages until the lattice object > has been completely plotted. > > I hope this is clear > > Thanks all > > Oli > > > > > > > > > > > [[alternative HTML version deleted]] > > ______________________________________________ > 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 / 安福立 http://www.neurofractal.org/felix/ 3358 543D AAC6 22C2 D336 80D9 360B 72DD 3E4C F5D8 ______________________________________________ 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.