[R-pkg-devel] R CMD BATCH plot output
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Sun Jul 28 22:15:21 CEST 2024
On 2024-07-28 4:05 p.m., Josiah Parry wrote:
> Thanks, Duncan!
>
> Is there a way to override this using the command line arguments?
I assume you could do that using commandArgs() in the dev.new() call,
but I don't use BATCH.
>
> I'd like to be able to have a generalizable way to address this without
> having to modify R source code.
Take a look at the source to dev.new(). It tries various things, maybe
one of those will suit you.
>
> My understanding is that when there is a plot output, R CMD BATCH uses
> the PDF device which is a fair default.
>
> However, there is not any use of `dev.new()` or `pdf()` called anywhere
> in the code.
Not explicitly, but if you try to call a plot function with no device
active, the graphics system will call dev.new().
Duncan Murdoch
>
> On Sun, Jul 28, 2024 at 3:44 PM Duncan Murdoch <murdoch.duncan using gmail.com
> <mailto:murdoch.duncan using gmail.com>> wrote:
>
> On 2024-07-28 1:48 p.m., Josiah Parry wrote:
> > Hey folks! I am working with R CMD BATCH and providing a providing a
> > logfile output e.g.
> >
> > R CMD BATCH main.R 2024-07-28.log
> >
> > This creates the desired log file with the contents of stdout and
> stderr.
> >
> > However, if plots are generated in the process, the plots are
> stored in
> > Rplots.pdf.
> >
> > Is there a way via command line arguments to change the name of
> the pdf
> > output.
> >
> > There might be multiple runs of this script and it would be ideal
> to store
> > the plot output independently.
>
> That's the default filename if you open a PDF device. Open it
> explicitly and you can specify any file you like.
>
> That is,
>
> plot(rnorm(100))
>
> will call dev.new() which in a non-interactive session calls pdf(). If
> you specify
>
> dev.new(file = "something.pdf")
> plot(rnorm(100))
>
> the "file" argument will be ignored in an interactive session, but will
> be used in a non-interactive one.
>
> Duncan Murdoch
>
>
More information about the R-package-devel
mailing list