File: renderPlot.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 (84 lines) | stat: -rw-r--r-- 3,303 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/render-plot.R
\name{renderPlot}
\alias{renderPlot}
\title{Plot Output}
\usage{
renderPlot(
  expr,
  width = "auto",
  height = "auto",
  res = 72,
  ...,
  env = parent.frame(),
  quoted = FALSE,
  execOnResize = FALSE,
  outputArgs = list()
)
}
\arguments{
\item{expr}{An expression that generates a plot.}

\item{width, height}{Height and width can be specified in three ways:
\itemize{
\item \code{"auto"}, the default, uses the size specified by \code{\link[=plotOutput]{plotOutput()}}
(i.e. the \code{offsetWidth}/`offsetHeight`` of the HTML element bound to
this plot.)
\item An integer, defining the width/height in pixels.
\item A function that returns the width/height in pixels (or \code{"auto"}).
The function is executed in a reactive context so that you can refer to
reactive values and expression to make the width/height reactive.
}

When rendering an inline plot, you must provide numeric values (in pixels)
to both \code{width} and \code{height}.}

\item{res}{Resolution of resulting plot, 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.}

\item{env}{The environment in which to evaluate \code{expr}.}

\item{quoted}{Is \code{expr} a quoted expression (with \code{quote()})? This
is useful if you want to save an expression in a variable.}

\item{execOnResize}{If \code{FALSE} (the default), then when a plot is
resized, Shiny will \emph{replay} the plot drawing commands with
\code{\link[grDevices:recordplot]{grDevices::replayPlot()}} instead of re-executing \code{expr}.
This can result in faster plot redrawing, but there may be rare cases where
it is undesirable. If you encounter problems when resizing a plot, you can
have Shiny re-execute the code on resize by setting this to \code{TRUE}.}

\item{outputArgs}{A list of arguments to be passed through to the implicit
call to \code{\link[=plotOutput]{plotOutput()}} when \code{renderPlot} is used in an
interactive R Markdown document.}
}
\description{
Renders a reactive plot that is suitable for assigning to an \code{output}
slot.
}
\details{
The corresponding HTML output tag should be \code{div} or \code{img} and have
the CSS class name \code{shiny-plot-output}.
}
\section{Interactive plots}{


With ggplot2 graphics, the code in \code{renderPlot} should return a ggplot
object; if instead the code prints the ggplot2 object with something like
\code{print(p)}, then the coordinates for interactive graphics will not be
properly scaled to the data space.

See \code{\link[=plotOutput]{plotOutput()}} for more information about interactive plots.
}

\seealso{
For the corresponding client-side output function, and example
usage, see \code{\link[=plotOutput]{plotOutput()}}. For more details on how the plots are
generated, and how to control the output, see \code{\link[=plotPNG]{plotPNG()}}.
\code{\link[=renderCachedPlot]{renderCachedPlot()}} offers a way to cache generated plots to
expedite the rendering of identical plots.
}