Пытаясь помочь этому человеку , я застрял с проблемой shinyjs
. Я хотел бы отобразить график, когда я нажимаю на прямоугольник в приведенном ниже коде.
В приведенном ниже примере при щелчке на большом зеленом прямоугольнике печатается текст, как и должно быть:
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(),
div(id = "01",
style = "cursor:pointer; height: 300px; width: 300px; text-align: center; background-color: green",
HTML("01")),
textOutput("plot")
)
server <- function(input, output) {
onclick(id = "01", {
output$plot <- renderPrint({
print("foo")
})
})
}
shinyApp(ui, server)
Однако, если я пытаюсь заменить печать на сюжет, я сталкиваюсь с ошибкой:
Предупреждение: ошибка в origRenderFun c: отсутствует аргумент "name", по умолчанию нет
Вот код, который создает ошибку:
library(shiny)
library(shinyjs)
ui <- fluidPage(
useShinyjs(),
div(id = "01",
style = "cursor:pointer; height: 300px; width: 300px; text-align: center; background-color: green",
HTML("01")),
plotOutput("plot")
)
server <- function(input, output) {
onclick(id = "01", {
output$plot <- renderPlot({
plot(mtcars)
})
})
}
shinyApp(ui, server)
Я полагаю, что проблема связана с функцией onclick
, так как я не могу воспроизвести эту ошибку, если поставить renderPlot
за пределами onclick
. Кто-нибудь знает, как это решить?