Antje <niederlein-rstat <at> yahoo.de> writes:

> I want to create some boxplots (as png) within an lapply method. To get 
> nice  gridlines behind the boxplot, I plotted it twice and therefore I 
> set par(new=TRUE).
> This works nicely for the first plot but the second does plot on the 
> first plot 
> too and creates a mess...
> How can I force to start with a blank plot again???
> 
> lapply(c(1,2), FUN=function(i) {
>       png(filename = "test.png", width = 450, height = 600)
>       gridlines <- seq(0.1,2.0,0.1)
>       par(mar=c(12, 4, 5, 2))
>       bpars <- list(yaxt = "n", las = 2 )
>       boxplot(mydata[i], pars= bpars )
>       abline(h = gridlines, col="lightgray", lty=2)
>       abline(h = 1, col="red", lwd=3)
>       par(new=TRUE)
>       boxplot(mydata[i], pars= bpars, main = "title")
>       dev.off()
> })

I do not fully understand what you want to do, but in each case you overwrite
your files. Try something like:

png(filename = paste("test",i,".png"), width = 450, height = 600)

and think over again why you need the par(new=TRUE). And please, make your
examples self-running, for example by adding

mydata = rnorm(100)

even if you probably have more complex data.

Dieter

______________________________________________
R-help@r-project.org 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.

Reply via email to