Run a plotting function and save the output as a PNG — plotPNG
R/imageutils.R
Description
This function returns the name of the PNG file that it generates. In
essence, it calls png()
, then func()
, then dev.off()
.
So func
must be a function that will generate a plot when used this
way.
Arguments
- func
A function that generates a plot.
- filename
The name of the output file. Defaults to a temp file with extension
.png
.- width
Width in pixels.
- height
Height in pixels.
- res
Resolution in pixels per inch. This value is passed to
grDevices::png()
. Note that this affects the resolution of PNG rendering in R; it won't change the actual ppi of the browser.- ...
Arguments to be passed through to
grDevices::png()
. These can be used to set the width, height, background color, etc.
Details
For output, it will try to use the following devices, in this order:
quartz (via grDevices::png()
), then Cairo::CairoPNG()
,
and finally grDevices::png()
. This is in order of quality of
output. Notably, plain png
output on Linux and Windows may not
antialias some point shapes, resulting in poor quality output.
In some cases, Cairo()
provides output that looks worse than
png()
. To disable Cairo output for an app, use
options(shiny.usecairo=FALSE)
.