Shiny 在闪亮的应用程序中使用复选框切换ggvis层

Shiny 在闪亮的应用程序中使用复选框切换ggvis层,shiny,ggvis,Shiny,Ggvis,我想添加一个复选框,用于切换闪亮应用程序中ggvis绘图中显示的层 library(shiny) library(ggvis) ui <- shinyUI(fluidPage(sidebarLayout( sidebarPanel( checkboxInput('loess','loess',TRUE) ), mainPanel( ggvisOutput("plot") ) ))) server <- shinyServer(function(

我想添加一个复选框,用于切换闪亮应用程序中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)
ui%
图层_点()%>%
#如果(输入$黄土)层_平滑()%>%
绑定(“绘图”、“绘图用户界面”)
})
shinyApp(用户界面=用户界面,服务器=服务器)

在ggvis管道中,是否可以使用与上面代码中注释行相同的要点来实现这一点

我认为你不能直接用管道来做这个。您还需要处于一个
被动的
环境中才能访问
input$
。你可以做:

observe({
        plot <- mtcars %>%
                ggvis(~wt, ~mpg) %>%
                layer_points()
        if(input$loess) plot <- plot %>% layer_smooths()
        plot %>% bind_shiny("plot", "plot_ui")
})
观察({
地块%
ggvis(~wt,~mpg)%>%
图层_点()
如果(输入$黄土)打印%layer_smooths()
plot%>%bind\u(“plot”、“plot\u ui”)
})