R 闪亮:输入输入或按下操作按钮时刷新图



我对R Shiny相当陌生,但一段时间以来一直遇到以下问题,希望您能提供一些帮助:

  • 我尝试刷新 R 闪亮的绘图,如果输入新的输入参数按下操作按钮,则应刷新该图。这应该很简单,但不幸的是我无法解决它,尽管谷歌搜索/阅读说明有一段时间了。任何建议都会被推荐。网络上的任何解决方案似乎都将整个渲染图函数放在 observeEvent 函数中,但我还需要在它之外的渲染图,以考虑在不按操作按钮的情况下只输入输入的可能性。

  • 我可以毫不费力地创建一个(渲染(图,该图要么在输入新输入时专门刷新,要么在按下按钮时专门刷新。

  • 但是,当同时执行这两个操作时,我失败了:我首先尝试复制 renderplot 函数,包括结果输出两次,一次在 observeEvent 函数内(以考虑单击操作按钮(,一次在 observeEvent 外部(仅考虑刷新绘图的输入(,但这只会导致一个灰色的图形,在按下操作按钮时延迟 ~10 秒后刷新。我想象将通过单击操作按钮生成的反应性点击输入直接添加到观察事件之外的渲染图中,但到目前为止我无法让它运行。任何建议将不胜感激。

提前谢谢你。

像这样?

编辑:无需将选择输入传递给反应式 Vals.. 这样做相同:

library(shiny)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
selectInput(inputId="select", label="title", choices=LETTERS[1:3], selected = "A"),
actionButton(inputId="btn", label="refresh")
),
mainPanel(
plotOutput("scatterPlot")
)
)
)
server <- function(input, output) {
plotSettings <- reactiveValues()
observeEvent(c(input$btn, input$select), {
plotSettings$values <- runif(100,1,100)
# plotSettings$title <- input$select
}, ignoreNULL = FALSE)
output$scatterPlot <- renderPlot({
plot(plotSettings$values, main=input$select)
})
}
shinyApp(ui = ui, server = server)

最新更新