根据 R Shiny 中的复选框选择创建绘图

Din*_*esh -4 visualization r shiny

如何根据复选框输入创建动态绘图,绘图数量应根据所选复选框的名称增加和减少。

Art*_*tem 5

您可以使用library(gridExtra)并绘制多个图,具体取决于 ( grid.arrange) 您激活的复选框数量。

library(shiny)

# Define UI for application
ui <- fluidPage(
  checkboxGroupInput("variable", "Variables to show:",
                     c("Cylinders" = "cyl",
                       "Transmission" = "am",
                       "Gears" = "gear")),
  mainPanel(plotOutput("distPlot"))
)


# Define server logic
server <- function(input, output, session) {
  require(gridExtra)
  require(ggplot2)

  output$distPlot <- renderPlot({
    if (length(input$variable) == 0) {
      ggplot(data.frame())
    } else {
      gl <- lapply(input$variable, 
                   function(x) ggplot(mtcars, aes(mtcars[, x])) +
                     geom_bar() +
                     xlab(x)) 
      grid.arrange(grobs = gl, nrow = 1)
    }
  })
}

# Run the application 
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)