【发布时间】:2019-07-27 23:25:52
【问题描述】:
对于我的应用程序,我需要用户单击绘图上的某个区域,然后绘图响应该单击并显示与该输入单击链接的新绘图。
但是,当前它正在运行,但新绘图仅显示 3 秒,然后返回到原始绘图。我发现了一个类似的例子here。该图基于反应值列表进行更新,然后绘制用户选择的那些新点。我想如果我找到一种方法来修改它以在单击事件之后立即绘制新图,它应该可以工作,但卡在这部分。
因此,理想情况下,以下示例将在单击后立即添加新点。在我的情况下,我需要显示新的绘图,直到单击绘图的新区域。
链接示例
library(shiny)
ui <- basicPage(
plotOutput("plot1", click = "plot_click"),
verbatimTextOutput("info"),
actionButton("updateplot", "Update Plot:")
)
server <- function(input, output) {
val <- reactiveValues(clickx = NULL, clicky = NULL)
observe({
input$plot_click
isolate({
val$clickx = c(val$clickx, input$plot_click$x)
val$clicky = c(val$clicky, input$plot_click$y)
})
}) #adding clicks to list
output$plot1 <- renderPlot({
plot(mtcars$wt, mtcars$mpg)
input$updateplot
isolate({
points(val$clickx, val$clicky)
})
})
output$info <- renderText({
paste0("x = ", val$clickx, ", y = ",val$clicky, "\n")
})
}
shinyApp(ui, server)
【问题讨论】: