[R] Sweave figure aspect ratio
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? Many thanks, Werner __ 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.
Re: [R] Sweave figure aspect ratio
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.
Re: [R] Sweave figure aspect ratio
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 [EMAIL PROTECTED] 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 __ 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.