Easily generates a .png file (or other graphics file) from a plotting expression.
capturePlot(
expr,
filename = tempfile(fileext = ".png"),
device = defaultPngDevice(),
width = 400,
height = 400,
res = 72,
...
)
A plotting expression that generates a plot (or yields an object
that generates a plot when printed, like a ggplot2). We evaluate this
expression after activating the graphics device (device
).
The output filename. By default, a temp file with .png
extension will be used; you should provide a filename with a different
extension if you provide a non-PNG graphics device function.
A graphics device function; by default, this will be either
grDevices::png()
, ragg::agg_png()
, or Cairo::CairoPNG()
, depending on
your system and configuration. See defaultPngDevice()
.
Additional arguments to the device
function.
plotTag()
saves plots as a self-contained <img>
tag.
# Default settings
res <- capturePlot(plot(cars))
# View result
if (interactive()) browseURL(res)
# Clean up
unlink(res)
# Custom width/height
pngpath <- tempfile(fileext = ".png")
capturePlot(plot(pressure), pngpath, width = 800, height = 375)
#> [1] "/tmp/RtmpwXEWaf/file2a6a7867584c.png"
if (interactive()) browseURL(pngpath)
unlink(pngpath)
# Use a custom graphics device (e.g., SVG)
if (capabilities("cairo")) {
svgpath <- capturePlot(
plot(pressure),
tempfile(fileext = ".svg"),
grDevices::svg,
width = 8, height = 3.75
)
if (interactive()) browseURL(svgpath)
unlink(svgpath)
}