[R] dev.off() inside a function & other glitches

Deepayan Sarkar deepayan.sarkar at gmail.com
Wed Jul 2 02:06:36 CEST 2008


On 7/1/08, Michael Hopkins <michael.hopkins at hopkins-research.com> wrote:
>
>
>  Hi R people
>
>  I am using a function to create a pdf device, then send a lot of plots
>  to it in a loop then a last lattice xyplot (itself within a function)
>  outside the loop and finally call dev.off() to write to the file.
>  This works well apart from the fact that the last plot does not get
>  sent to the file unless I comment out dev.off() and then apply it in
>  the console afterwards instead:
>
>         plot_stuff( ...); dev.off()
>
>  The device is opened like this:
>
>         pdf( paste( var_string, ".pdf", sep="" ), onefile=TRUE, paper="a4r",
>  width=9, height=6.5 )
>
>  Also, if I try to send two different xyplots after the loop only the
>  last one ever gets written to the file, whether or not I apply the
>  dev.off() trick above.
>
>  Any thoughts on why this stuff happens and best ways to avoid it are
>  appreciated.

This sounds like FAQ 7.22:

http://cran.us.r-project.org/doc/FAQ/R-FAQ.html#Why-do-lattice_002ftrellis-graphics-not-work_003f

The dev.off() issue is most likely a red herring; the important bit is
that the xyplot() call was not the last expression in your function.

-Deepayan



More information about the R-help mailing list