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 ______________________________________________ R-help@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 and provide commented, minimal, self-contained, reproducible code.