Alexx Hardt
2010-Dec-03 17:22 UTC
[R] Passing par()-parameters to many plot()s in a function
Hi, I am implementing a function which generates about 10 .pdf plots in the current directory. I need the graphic to fit into a LaTeX-Presentation-slide, so the outer margin should be removed (this is the way to do it, right?): I am having trouble finding out where to put the par command(s). Is one enough or should I put them before and after /every/ plot() command? This is how I tried to do it (without success): clu <- function(x,k=3){ cat("pwd: ",getwd(),"\n") pdf(file="img%03d.pdf",onefile=FALSE) op <- par(oma=c(0,0,0,0)) # more lines, 10 plot() commands, etc par(op) return(stuff) } -- alexx at alexx-fett:~$ vi .emacs
Duncan Murdoch
2010-Dec-03 19:31 UTC
[R] Passing par()-parameters to many plot()s in a function
On 03/12/2010 12:22 PM, Alexx Hardt wrote:> Hi, > I am implementing a function which generates about 10 .pdf plots in the > current directory. > I need the graphic to fit into a LaTeX-Presentation-slide, so the outer > margin should be removed (this is the way to do it, right?): > > I am having trouble finding out where to put the par command(s). Is one > enough or should I put them before and after /every/ plot() command? > This is how I tried to do it (without success):Generally speaking par() affects the current graphics device. Your code below only opens one graphics device, so it should be fine to call par() once. (But you did forget to call dev.off(), so you will probably run into problems on the last plot.) Another way to do this is to call pdf() and dev.off() 10 times. The pdf.options() function sets defaults for a number of things related to a new pdf() device, but par() options are not included, so you'd need to call it before each plot. There are surely some par() options that are cleared as you move to a new plot in your onefile=FALSE usage; I don't think the margin parameters are among them, but you might find it easiest just to set everything each time even if you are using only one pdf() device. Duncan Murdoch> clu<- function(x,k=3){ > > cat("pwd: ",getwd(),"\n") > pdf(file="img%03d.pdf",onefile=FALSE) > op<- par(oma=c(0,0,0,0)) > # more lines, 10 plot() commands, etc > par(op) > return(stuff) > } >