Plot Output — renderPlot
R/render-plot.R
Description
Renders a reactive plot that is suitable for assigning to an output
slot.
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 byplotOutput()(i.e. theoffsetWidth/`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
widthandheight.- res
Resolution of resulting plot, in pixels per inch. This value is passed to
plotPNG(). 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
plotPNG(). 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 isNA(the default), thenggplot2::get_alt_text()is used to extract alt text from ggplot objects; for other plots,NAresults in alt text of "Plot object".NULLor""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
expris a quosure andquotedisTRUE, thenenvis ignored.- quoted
If it is
TRUE, then thequote()ed value ofexprwill be used whenexpris evaluated. Ifexpris a quosure and you would like to use its expression as a value forexpr, then you must setquotedtoTRUE.- execOnResize
If
FALSE(the default), then when a plot is resized, Shiny will replay the plot drawing commands withgrDevices::replayPlot()instead of re-executingexpr. 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 toTRUE.- outputArgs
A list of arguments to be passed through to the implicit call to
plotOutput()whenrenderPlotis 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.