2016-02-18 77 views
0

我想添加一個複選框來切換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管道使用閃亮的同樣的要點作爲上面代碼中的評論線?

回答

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") 
})