【发布时间】:2018-07-27 19:52:15
【问题描述】:
我正在尝试使绘图可刷,但在某些情况下需要显示“不可用”消息,我使用 validate(need()) 来执行此操作。但是,如果情节已经出现然后变为无效,则刷区仍然存在(见图)。
最小可重现示例:
library(shiny)
ui <- fluidPage(
checkboxInput("Validate", label="Validate?", value=T),
plotOutput("MainPlot", brush=brushOpts("MainPlotBrush", direction='x'))
)
server <- function(input, output) {
output$MainPlot<-renderPlot({
validate(need(input$Validate, message="This plot failed to render"))
hist(rnorm(100))
})
}
shinyApp(ui = ui, server = server)
有没有办法在绘图无效时结束画笔功能?
【问题讨论】:
-
无论在服务器中生成什么,都使用画笔呈现的 UI。您可以将 plotOutput 移动到服务器以有条件地刷,然后将输出放置为 uiOutput 或 htmlOutput。类似于这里的答案:stackoverflow.com/questions/41120696/…