在Shiny应用程序中使用复选框切换ggvis-layer

时间:2016-02-18 21:06:32

标签: shiny ggvis

我想添加一个复选框,用于切换Shiny应用程序中ggvis图中显示的图层。

library(shiny)
library(ggvis)

ui <- shinyUI(fluidPage(sidebarLayout(
   sidebarPanel(
   checkboxInput('loess','loess',TRUE)
  ),
   mainPanel(
   ggvisOutput("plot")
  )
 )))


server <- shinyServer(function(input, output) {

 mtcars %>%
    ggvis(~wt, ~mpg) %>%
    layer_points() %>%
     # if(input$loess) layer_smooths() %>%
    bind_shiny("plot", "plot_ui")
 })

shinyApp(ui = ui, server = server)

这可以在ggvis管道中使用与上面代码中的注释行相同的要点吗?

1 个答案:

答案 0 :(得分:0)

我认为你不能直接使用这个管道。您还需要在reactive环境中访问input$loess。你可以这样做:

observe({
        plot <- mtcars %>%
                ggvis(~wt, ~mpg) %>%
                layer_points()
        if(input$loess) plot <- plot %>% layer_smooths()
        plot %>% bind_shiny("plot", "plot_ui")
})