Hi! I moved the definition of the vlay function before the grid.newpage call, and now it works! This is weird, I don't get it what was wrong in the first place, if someone can enlighten me, I would feel better.
Sebastian To make it clear, this works: <<evolDist,fig=TRUE>>= vlay <- function(x,y) viewport(layout.pos.row=x, layout.pos.col=y) ## combined plot via grid viewports grid.newpage() pushViewport(viewport(layout=grid.layout(2,1))) print(pl$gscoreDist, vp=vlay(1,1)) print(pl$acceptDist, vp=vlay(2,1)) @ On Mon, Jul 26, 2010 at 5:32 PM, Felipe Carrillo <mazatlanmex...@yahoo.com>wrote: > I just run the code below with sweave and works fine > It looks like you might be missing the sequence of vplay > > > <<fig.R,echo=F,fig=T>>= > library(ggplot2) > vplay<- function(x, y) > viewport(layout.pos.row=x, layout.pos.col=y) > grid.newpage() > p <- ggplot(diamonds, aes(x=carat, y=..density..)) + > geom_histogram(binwidth=0.2) > p <- p + facet_grid(. ~ cut) > pushViewport(viewport(layout=grid.layout(3,3))) > print(p, vp=vplay(1,1)) > print(p, vp=vplayt(2:3,2:3)) > print(p, vp=vplay(1, 2:3)) > print(p, vp=vplay(2:3, 1)) > @ > > Felipe D. Carrillo > Supervisory Fishery Biologist > Department of the Interior > US Fish & Wildlife Service > California, USA > > > > ----- Original Message ---- > > From: Sebastian Weber <sebastian.we...@physik.tu-darmstadt.de> > > To: r-help@r-project.org > > Sent: Mon, July 26, 2010 7:51:06 AM > > Subject: [R] Trouble using grid.layout in Sweave > > > > Hi! > > > > I am troubled by Sweave which I want to use in order to plot graphics > which > > I build up successively by the use of grid.layout. Here is the code: > > > > <<fig=TRUE,label=evolDist,height=6in,width=3in,pdf=FALSE>>= > > > > ## combined plot via grid viewports > > grid.newpage() > > pushViewport(viewport(layout=grid.layout(2,1))) > > vlay <- function(x,y) viewport(layout.pos.row=x, layout.pos.col=y) > > print(pl$gscoreDist, vp=vlay(1,1)) > > print(pl$acceptDist, vp=vlay(2,1)) > > dev.off() > > > > @ > > > > The error is the following from Sweave: > > > > Error in grid.newpage() : Non-finite location and/or size for viewport > > In addition: There were 24 warnings (use warnings() to see them) > > Error in driver$runcode(drobj, chunk, chunkopts) : > > Error in grid.newpage() : Non-finite location and/or size for viewport > > Calls: Sweave -> <Anonymous> > > Execution halted > > > > > > Any hints? Of course, I can always wrap the code into a fig=FALSE, and > > pdf()-call, but that is not how sweave is meant to be used, as I got it. > > > > Many thanks in advance, > > > > Sebastian Weber > > > > [[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. > > > > > > > [[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.