Renders a reactive plot that is suitable for assigning to an output
slot.
renderPlot(
expr,
width = "auto",
height = "auto",
res = 72,
...,
alt = NA,
env = parent.frame(),
quoted = FALSE,
execOnResize = FALSE,
outputArgs = list()
)
Arguments
expr |
An expression that generates a plot. |
width, height |
Height and width can be specified in three ways:
"auto" , the default, uses the size specified by plotOutput()
(i.e. the offsetWidth /`offsetHeight`` of the HTML element bound to
this plot.)
An integer, defining the width/height in pixels.
A function that returns the width/height in pixels (or "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 width and height . |
res |
Resolution of resulting plot, 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. |
alt |
Alternate text for the HTML <img> tag if it cannot be displayed
or viewed (i.e., the user uses a screen reader). In addition to a character
string, the value may be a reactive expression (or a function referencing
reactive values) that returns a character string. If the value is NA (the
default), then ggplot2::get_alt_text() is used to extract alt text from
ggplot objects; for other plots, NA results in alt text of "Plot object".
NULL or "" is not recommended because those should be limited to
decorative images. |
env |
The parent environment for the reactive expression. By default,
this is the calling environment, the same as when defining an ordinary
non-reactive expression. If expr is a quosure and quoted is TRUE ,
then env is ignored. |
quoted |
If it is TRUE , then the quote() ed value of expr
will be used when expr is evaluated. If expr is a quosure and you
would like to use its expression as a value for expr , then you must set
quoted to TRUE . |
execOnResize |
If FALSE (the default), then when a plot is
resized, Shiny will replay the plot drawing commands with
grDevices::replayPlot() instead of re-executing 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 TRUE . |
outputArgs |
A list of arguments to be passed through to the implicit
call to plotOutput() when renderPlot is used in an
interactive R Markdown document. |
Details
The corresponding HTML output tag should be div
or img
and have
the CSS class name shiny-plot-output
.
Interactive plots
With ggplot2 graphics, the code in renderPlot
should return a ggplot
object; if instead the code prints the ggplot2 object with something like
print(p)
, then the coordinates for interactive graphics will not be
properly scaled to the data space.
See plotOutput()
for more information about interactive plots.
See also
For the corresponding client-side output function, and example
usage, see plotOutput()
. For more details on how the plots are
generated, and how to control the output, see plotPNG()
.
renderCachedPlot()
offers a way to cache generated plots to
expedite the rendering of identical plots.