r-在两个条件下闪亮的呈呈效果



我正在开发Shiny的应用程序。我想使用提交按钮渲染绘图。如果用户检查InputCheckBox,我也想打印标签。我能够通过按钮渲染绘图。但是,当检查复选框时,它不起作用。

这是代码:

 library(shiny)
 library(plotly)
 ui <-  fluidPage(
 actionButton('RUN', 'Run'),
 checkboxInput('PrintLab', 'Label', FALSE),
 plotlyOutput("plot1")
 )
 server = function(input, output) {
 output$plot1 <- renderPlotly({
 req(input$RUN)
 isolate({
   ggplotly(ggplot(data = mtcars, aes(wt, hp)) + 
           geom_point(size=1, colour = "grey"))
   })
  req(input$PrintLab)
  isolate({
   ggplotly(ggplot(data = mtcars, aes(wt, hp)) + 
           geom_point(size=1, colour = "grey") +
           geom_text(aes(label=wt), size=3, colour = "black"))
   })
 })
}
 runApp(shinyApp(ui, server))

我不是闪亮的专家,但是req(input$PrintLab)看上去并不适合我。这会完成您的目标吗?

server <- function(input, output) {
  output$plot1 <- renderPlotly({
    req(input$RUN)
    if (!input$PrintLab) {
      ggplotly(ggplot(data = mtcars, aes(wt, hp)) + 
             geom_point(size=1, colour = "grey"))
    } else {
      ggplotly(ggplot(data = mtcars, aes(wt, hp)) + 
             geom_point(size=1, colour = "grey") +
             geom_text(aes(label=wt), size=3, colour = "black"))
    }
  })
}

(我敢肯定有更好的方法。那只是我的头顶。)

相关内容

  • 没有找到相关文章

最新更新