R shiny orgranize grouped choices into multiple selectInput boxes (和用户选择两个散点图)
R shiny orgranize grouped choices into multiple selectInput boxes (and user selects two for a scatter plot)
我在数据集中有很多变量属于不同的类别。如果我将列表添加到 selectInput
中的 choices
参数,滚动浏览每个类别的选项就太麻烦了。有什么方法可以跨多个 selectInput
框组织类别?这个想法是,用户将能够从 x 轴和 y 轴的 4 个 selectInput
框之一中 select 生成散点图。或者也许有更好的方法来解决这个问题?我应该注意到数据超宽(数千列),所以我的类别是 selecting 来自列名。
我不清楚你的问题,但也许 selectizeInput
使用 optgroup_columns
插件是一个解决方案:
library(shiny)
ui <- fluidPage(
br(),
selectizeInput(
"std", "Select the standard",
choices = list(
"C" = list("c89", "c99", "c11"),
"C++" = list("c++03", "c++11", "c++14", "c++17", "c++20")
),
options = list(
plugins = list("optgroup_columns")
)
)
)
server <- function(input, output, session) {}
shinyApp(ui, server)
组 headers 不好看,你可以用 CSS 给他们加上样式,例如
.selectize-dropdown .optgroup>.optgroup-header {
font-size: 15px;
font-weight: bold;
font-style: italic;
color: black;
}
我在数据集中有很多变量属于不同的类别。如果我将列表添加到 selectInput
中的 choices
参数,滚动浏览每个类别的选项就太麻烦了。有什么方法可以跨多个 selectInput
框组织类别?这个想法是,用户将能够从 x 轴和 y 轴的 4 个 selectInput
框之一中 select 生成散点图。或者也许有更好的方法来解决这个问题?我应该注意到数据超宽(数千列),所以我的类别是 selecting 来自列名。
我不清楚你的问题,但也许 selectizeInput
使用 optgroup_columns
插件是一个解决方案:
library(shiny)
ui <- fluidPage(
br(),
selectizeInput(
"std", "Select the standard",
choices = list(
"C" = list("c89", "c99", "c11"),
"C++" = list("c++03", "c++11", "c++14", "c++17", "c++20")
),
options = list(
plugins = list("optgroup_columns")
)
)
)
server <- function(input, output, session) {}
shinyApp(ui, server)
组 headers 不好看,你可以用 CSS 给他们加上样式,例如
.selectize-dropdown .optgroup>.optgroup-header {
font-size: 15px;
font-weight: bold;
font-style: italic;
color: black;
}