我有一个闪亮的应用程序,用于分析30年的气候数据。我希望用户能够在30年内选择他们想要多年的时间来相互叠加。显然,可以使用checkboxGroupInput,但是,在屏幕上显示30个复选框在视觉上并不令人满意。
是否有替代方案(例如下拉“多选”)?
简单的替代方案是selectInput
与multiple = TRUE
。如果您不介意使用外部包,bwc的答案就派上用场了。请参阅以下演示:
library(shiny)
library(shinyWidgets)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(selectInput("choiceSelectize", "Choose one or more:", choices = 1:10, multiple = TRUE),
pickerInput("choicePicker", "Choose one or more:", choices = 1:10, multiple = TRUE)),
mainPanel("Plain shiny Select Input:", verbatimTextOutput("outSelectize"),
"ShinyWidgets Picker Input:", verbatimTextOutput("outPicker"))
)
)
server <- function(input, output) {
output$outSelectize <- renderPrint({
input$choiceSelectize
})
output$outPicker <- renderPrint({
input$choicePicker
})
}
shinyApp(ui, server)
看起来像shinyWidgets包中的pickerInput()或checkboxGroupButtons可以解决这个问题。