File: plotPNG.Rd

package info (click to toggle)
r-cran-shiny 1.5.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 8,224 kB
  • sloc: javascript: 17,081; sh: 28; makefile: 21
file content (49 lines) | stat: -rw-r--r-- 1,728 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/imageutils.R
\name{plotPNG}
\alias{plotPNG}
\title{Run a plotting function and save the output as a PNG}
\usage{
plotPNG(
  func,
  filename = tempfile(fileext = ".png"),
  width = 400,
  height = 400,
  res = 72,
  ...
)
}
\arguments{
\item{func}{A function that generates a plot.}

\item{filename}{The name of the output file. Defaults to a temp file with
extension \code{.png}.}

\item{width}{Width in pixels.}

\item{height}{Height in pixels.}

\item{res}{Resolution in pixels per inch. This value is passed to
\code{\link[grDevices:png]{grDevices::png()}}. Note that this affects the resolution of PNG rendering in
R; it won't change the actual ppi of the browser.}

\item{...}{Arguments to be passed through to \code{\link[grDevices:png]{grDevices::png()}}.
These can be used to set the width, height, background color, etc.}
}
\description{
This function returns the name of the PNG file that it generates. In
essence, it calls \code{png()}, then \code{func()}, then \code{dev.off()}.
So \code{func} must be a function that will generate a plot when used this
way.
}
\details{
For output, it will try to use the following devices, in this order:
quartz (via \code{\link[grDevices:png]{grDevices::png()}}), then \code{\link[Cairo:Cairo]{Cairo::CairoPNG()}},
and finally \code{\link[grDevices:png]{grDevices::png()}}. This is in order of quality of
output. Notably, plain \code{png} output on Linux and Windows may not
antialias some point shapes, resulting in poor quality output.

In some cases, \code{Cairo()} provides output that looks worse than
\code{png()}. To disable Cairo output for an app, use
\code{options(shiny.usecairo=FALSE)}.
}