Functions for integration of RGL widgets into Shiny app
shiny.RdThese functions allow an RGL scene to be embedded in a Shiny app.
Usage
rglwidgetOutput(outputId, width = "512px", height = "512px")
renderRglwidget(expr, env = parent.frame(), quoted = FALSE, outputArgs = list())
playwidgetOutput(outputId, width = "0px", height = "0px")
renderPlaywidget(expr, env = parent.frame(), quoted = FALSE, outputArgs = list())Arguments
- outputId
The name for the control.
- width, height
Width and height to display the control.
- expr
An R expression returning a
rglwidget(forrenderRglwidget) or aplaywidget(forrenderPlaywidget) as output.- env
The environment in which to evaluate
expr.- quoted
Is the expression already quoted?
- outputArgs
A list containing arguments; see details below.
Details
Use rglwidgetOutput or playwidgetOutput as an output
object in a Shiny user
interface section; use renderRglwidget or renderPlaywidget
as the render
function in the server section.
In a dynamic R Markdown document with runtime: shiny, you
only call the render function, and may optionally pass width
and height to the output function by putting them in
a list in outputArgs. See the example below.
Examples
if (FALSE) { # \dontrun{
# This could be used in a dynamic R Markdown document. See
# demo("shinyDemo") and demo("simpleShinyRgl") for Shiny apps.
inputPanel(
sliderInput("n", label = "n", min = 10, max = 100, value = 10, step = 10)
)
renderRglwidget({
n <- input$n
try(close3d())
plot3d(rnorm(n), rnorm(n), rnorm(n))
rglwidget()
}, outputArgs = list(width = "auto", height = "300px"))
} # }