[R] Sweave figure aspect ratio
Werner Wernersen
pensterfuzzer at yahoo.de
Sun Sep 9 22:14:17 CEST 2007
Many thanks for the quick reply, Duncan.
Now I see that something is going wrong in R already.
I overlooked this because the R window was so big. I
have to persuade plotViewport() not to create a square
area but one which takes the different margins into
account.
Best regards,
Werner
--- Duncan Murdoch <murdoch at stats.uwo.ca> schrieb:
> On 09/09/2007 7:24 AM, Werner Wernersen wrote:
> > Hello,
> >
> > using Sweave, is there any option to preserve the
> > original aspect ratio of plots generated from R
> code?
> >
> > Consider this Sweave chunk:
> > <<test,echo=F,fig=T,width=2,height=2>>=
> > x <- 1:10
> > y <- sin(x)
> > par(mar=c(4,4,0,4))
> > plot(x,y,
> > xlab="x label",
> > ylab="y label"
> > )
> > @
> >
> > In Latex, I want to produce a plot of width 2 but
> > don't care about the height. If I put the width
> and
> > height like shown on the example, the box isn't
> square
> > any more. But if I put only width or height in the
> > Sweave option, then the values then the appearance
> is
> > totally off.
> >
> > Is there any option for Sweave or other
> possibility to
> > preserve the ratio of the sides of plots?
>
> The width and height args in the header of the chunk
> are passed to the
> graphics device (postscript or pdf), but they don't
> appear in the LaTeX
> output. To modify the appearance in LaTeX, you need
> to set a graphicx
> package parameter, e.g. something like
>
> \setkeys{Gin}{width=2in}
> <<test,echo=F,fig=T>>=
> x <- 1:10
> y <- sin(x)
> par(mar=c(4,4,0,4))
> plot(x,y,
> xlab="x label",
> ylab="y label"
> )
> @
>
> If you only specify width, then the aspect ratio
> will be maintained.
>
> The \setkeys{} changes are persistent; as far as I
> know there's no way
> to say "go back to the default" afterwards. So what
> I'd suggest is to
> define a macro (e.g. \Gwidth) to give the default
> width, and then call
>
> \setkeys{Gin}{width=\Gwidth}
>
> at the start of your document and after any change
> like the one above.
>
> Duncan Murdoch
>
More information about the R-help
mailing list