McClatchie, Sam (PIRSA-SARDI)
2005-Jul-28 03:13 UTC
[R] lattice/ grid.layout/ multiple graphs per page
Background: OS: Linux Mandrake 10.1 release: R 2.0.0 editor: GNU Emacs 21.3.2 front-end: ESS 5.2.3 --------------------------------- Colleagues I have a set of lattice plots, and want to plot 4 of them on the page. I am having trouble with the layout. grid.newpage() pushViewport(viewport(layout = grid.layout(2,2))) pushviewport(viewport(layout.pos.col = 1, layout.pos.row = 1)) working trellis graph code here pushviewport(viewport(layout.pos.col = 1, layout.pos.row = 2)) working trellis graph code here pushviewport(viewport(layout.pos.col = 2, layout.pos.row = 1)) working trellis graph code here pushviewport(viewport(layout.pos.col = 2, layout.pos.row = 2)) I'm obviously doing something wrong since my graphs still print one per page? Would you be able to provide advice? Thanks Sam ---- Sam McClatchie, Biological oceanography South Australian Aquatic Sciences Centre PO Box 120, Henley Beach 5022 Adelaide, South Australia email <mcclatchie.sam at saugov.sa.gov.au> Telephone: (61-8) 8207 5448 FAX: (61-8) 8207 5481 Research home page <http://www.members.iinet.net.au/~s.mcclatchie/> /\ ...>><xX(??> //// \\\\ <??)Xx><< ///// \\\\\\ ><(((??> >><(((??> ...>><xX(??>O<??)Xx><<
On 7/27/05, McClatchie, Sam (PIRSA-SARDI) <mcclatchie.sam at saugov.sa.gov.au> wrote:> Background: > OS: Linux Mandrake 10.1 > release: R 2.0.0 > editor: GNU Emacs 21.3.2 > front-end: ESS 5.2.3 > --------------------------------- > Colleagues > > I have a set of lattice plots, and want to plot 4 of them on the page. > I am having trouble with the layout. > > grid.newpage() > pushViewport(viewport(layout = grid.layout(2,2))) > pushviewport(viewport(layout.pos.col = 1, layout.pos.row = 1)) > working trellis graph code here > pushviewport(viewport(layout.pos.col = 1, layout.pos.row = 2)) > working trellis graph code here > pushviewport(viewport(layout.pos.col = 2, layout.pos.row = 1)) > working trellis graph code here > pushviewport(viewport(layout.pos.col = 2, layout.pos.row = 2)) > > I'm obviously doing something wrong since my graphs still print one per > page?Depends on the details of your 'working trellis code'. Are you using print() explicitly with 'newpage=FALSE'? See ?print.trellis for details. Deepayan> Would you be able to provide advice? > > Thanks > > Sam > ---- > Sam McClatchie, > Biological oceanography > South Australian Aquatic Sciences Centre > PO Box 120, Henley Beach 5022 > Adelaide, South Australia > email <mcclatchie.sam at saugov.sa.gov.au> > Telephone: (61-8) 8207 5448 > FAX: (61-8) 8207 5481 > Research home page <http://www.members.iinet.net.au/~s.mcclatchie/> > > /\ > ...>><xX(??> > //// \\\\ > <??)Xx><< > ///// \\\\\\ > ><(((??> > >><(((??> ...>><xX(??>O<??)Xx><< > > ______________________________________________ > R-help at 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 >
McClatchie, Sam (PIRSA-SARDI)
2005-Jul-29 02:13 UTC
[R] lattice/ grid.layout/ multiple graphs per page
Background: OS: Linux Mandrake 10.1 release: R 2.0.0 editor: GNU Emacs 21.3.2 front-end: ESS 5.2.3 --------------------------------->-----Original Message----- >From: Deepayan Sarkar [mailto:deepayan.sarkar at gmail.com] >Sent: Friday, 29 July 2005 3:44 AM >To: McClatchie, Sam (PIRSA-SARDI) >Cc: R-Help-Request (E-mail) >Subject: Re: [R] lattice/ grid.layout/ multiple graphs per page>Depends on the details of your 'working trellis code'. Are you using >print() explicitly with 'newpage=FALSE'? See ?print.trellis for >details. > >Deepayan------------------------- Sorry Deepayan, I should have included the full code originally. Here it is, with your suggestion for using the newpage=FALSE option to print(). I still have not got it right. "egg.and.larvae.vs.intermittency.conditioned.plots" <- function() { library(lattice) library(grid) n <- layout(matrix(c(1,2,3,4), 2,2)) #grid.newpage() #pushViewport(viewport(layout grid.layout(2, 2))) #pushViewport(viewport(layout.pos.col=1, layout.pos.row=1)) #trellis.device(postscript, #file="../figures/egg.and.larvae.vs.intermittency.conditioned.plots.2001.egg s.ps",horizontal=FALSE,# color=TRUE) trellis.par.set(par.xlab.text = list(cex = 1.5)) trellis.par.set(par.ylab.text = list(cex = 1.5)) trellis.par.set(axis.text = list(cex = 1.2)) d.2001 <- mn.ts.e.zoo.vol.vol.filt.anchovy.egg.larv.mn.fluor.wire.intermittency.2001 d.2002 <- mn.ts.e.zoo.vol.vol.filt.anchovy.egg.larv.mn.fluor.wire.intermittency.2002 #browser() attach(d.2001) #intermittency.blocks <- cut(percent.unstable, breaks=c(0,10,20,30,40,50)) intermittency.blocks <- cut(percent.unstable, breaks=c(0,5,10,15,20,25,30,35,40,45,50)) ###trellis plots, 2001 data int <- matrix(c(0,50,45,100,90,200), ncol=2, byrow=TRUE) egg.counts <- shingle(d.2001$eggs2.Pilch.Eggs, intervals = int) out1 <- bwplot(eggs2.Pilch.Eggs ~ intermittency.blocks | egg.counts, data = d.2001, xlab = "intermittency (% of water column unstable)", ylab = "eggs m^2", main = "2001", ylim = c(0,200), layout = c(1,3), auto.key = T) print(out1, newpage=F) par(par.old) # graphics.off() # x11() # trellis.device(postscript, #file="../figures/egg.and.larvae.vs.intermittency.conditioned.plots.2001.lar vae.ps",horizontal=FALS#E, color=TRUE) #pushViewport(viewport(layout.pos.col=1, layout.pos.row=2)) trellis.par.set(par.xlab.text = list(cex = 1.5)) trellis.par.set(par.ylab.text = list(cex = 1.5)) trellis.par.set(axis.text = list(cex = 1.2)) int <- matrix(c(0,50,45,100,90,200), ncol=2, byrow=TRUE) larval.counts <- shingle(d.2001$eggs2.Pilch.Larv, intervals = int) out2 <- bwplot(eggs2.Pilch.Larv ~ intermittency.blocks | larval.counts, data = d.2001, xlab = "intermittency (% of water column unstable)", ylab = expression(paste("larvae ",m^{-2})), main = "2001", ylim = c(0,200), layout = c(1,3), auto.key = T) detach("d.2001") print(out2, newpage=F) #graphics.off() ###trellis plots, 2002 data attach(d.2002) # x11() #trellis.device(postscript, #file="../figures/egg.and.larvae.vs.intermittency.conditioned.plots.2002.egg s.ps",horizontal=FALSE#, color=TRUE) #pushViewport(viewport(layout.pos.col=2, layout.pos.row=1)) trellis.par.set(par.xlab.text = list(cex = 1.5)) trellis.par.set(par.ylab.text = list(cex = 1.5)) trellis.par.set(axis.text = list(cex = 1.2)) int <- matrix(c(0,50,45,100,90,200), ncol=2, byrow=TRUE) egg.counts <- shingle(d.2002$eggs2.Pilch.Eggs, intervals = int) out3 <- bwplot(eggs2.Pilch.Eggs ~ intermittency.blocks | egg.counts, data = d.2002, xlab = "intermittency (% of water column unstable)", ylab = "eggs m^2", main = "2002", ylim = c(0,200), layout = c(1,3), auto.key = T) par(par.old) #graphics.off() print(out3, newpage=F) # x11() # trellis.device(postscript, #file="../figures/egg.and.larvae.vs.intermittency.conditioned.plots.2002.lar vae.ps",horizontal=FALS#E, color=TRUE) #pushViewport(viewport(layout.pos.col=2, layout.pos.row=2)) trellis.par.set(par.xlab.text = list(cex = 1.5)) trellis.par.set(par.ylab.text = list(cex = 1.5)) trellis.par.set(axis.text = list(cex = 1.2)) int <- matrix(c(0,50,45,100,90,200), ncol=2, byrow=TRUE) larval.counts <- shingle(d.2002$eggs2.Pilch.Larv, intervals = int) out4 <- bwplot(eggs2.Pilch.Larv ~ intermittency.blocks | larval.counts, data = d.2002, xlab = "intermittency (% of water column unstable)", ylab = expression(paste("larvae ", m^{-2})), main = "2002", ylim = c(0,200), layout = c(1,3), auto.key = T) print(out4, newpage=F) par(par.old) # graphics.off() detach("d.2002") }>-----Original Message----- >From: Deepayan Sarkar [mailto:deepayan.sarkar at gmail.com] >Sent: Friday, 29 July 2005 3:44 AM >To: McClatchie, Sam (PIRSA-SARDI) >Cc: R-Help-Request (E-mail) >Subject: Re: [R] lattice/ grid.layout/ multiple graphs per page > > >On 7/27/05, McClatchie, Sam (PIRSA-SARDI) ><mcclatchie.sam at saugov.sa.gov.au> wrote: >> Background: >> OS: Linux Mandrake 10.1 >> release: R 2.0.0 >> editor: GNU Emacs 21.3.2 >> front-end: ESS 5.2.3 >> --------------------------------- >> Colleagues >> >> I have a set of lattice plots, and want to plot 4 of them on >the page. >> I am having trouble with the layout. >> >> grid.newpage() >> pushViewport(viewport(layout = grid.layout(2,2))) >> pushviewport(viewport(layout.pos.col = 1, layout.pos.row = 1)) >> working trellis graph code here >> pushviewport(viewport(layout.pos.col = 1, layout.pos.row = 2)) >> working trellis graph code here >> pushviewport(viewport(layout.pos.col = 2, layout.pos.row = 1)) >> working trellis graph code here >> pushviewport(viewport(layout.pos.col = 2, layout.pos.row = 2)) >> >> I'm obviously doing something wrong since my graphs still >print one per >> page? > >Depends on the details of your 'working trellis code'. Are you using >print() explicitly with 'newpage=FALSE'? See ?print.trellis for >details. > >Deepayan > >> Would you be able to provide advice? >> >> Thanks >> >> Sam >> ---- >> Sam McClatchie, >> Biological oceanography >> South Australian Aquatic Sciences Centre >> PO Box 120, Henley Beach 5022 >> Adelaide, South Australia >> email <mcclatchie.sam at saugov.sa.gov.au> >> Telephone: (61-8) 8207 5448 >> FAX: (61-8) 8207 5481 >> Research home page <http://www.members.iinet.net.au/~s.mcclatchie/> >> >> /\ >> ...>><xX(??> >> //// \\\\ >> <??)Xx><< >> ///// \\\\\\ >> ><(((??> >> >><(((??> ...>><xX(??>O<??)Xx><< >> >> ______________________________________________ >> R-help at 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 >> >