[R] Sweave figure

Duncan Murdoch murdoch at stats.uwo.ca
Thu Jul 10 01:39:51 CEST 2008

Georg Otto wrote:
> Hi,
> I have a problem using figures in Sweave:
> To save my figures, I use 
> \SweaveOpts{prefix.string=figures/figure}
> I adjust the figure size for my pdf document using
> <<graphicsFun, fig=TRUE, echo=FALSE, height=10, width=5, eval=TRUE>>=
> this works fine. The file 
> figures/figure-graphicsFun.pdf
> has the right size, and so has the figure in the final pdf
> document. The problem is, that during Sweave'ing, the plot is printed
> also to the active x11 device, which has default size settings. In
> some cases, this results in an error, because some parameters
> (e.g. margins) might not be compatible with the default size. I think
> the best solution would be to supress printing to the x11 device by
> that code chunk, since I do not really need this side effect, but I
> have not found how to do this and do not know if this is possible. Any
> hints?
You could use options(device= ...) early in your document to tell R to 
use a device other than X11 by default.  If it was a pdf device with 
height and width matching the ones you give, you shouldn't get any 
spurious errors.

I'm not sure why Sweave produces default graphics output as well as pdf 
and eps; perhaps someone could comment on that (or say how to turn the 
default output off, if that's possible).

Duncan Murdoch

More information about the R-help mailing list