在 Shiny 中自定义单选按钮的布局

Customizing layout of raido buttons in Shiny

我有一组单选按钮,希望能够更详细地自定义布局,我知道您可以选择垂直或水平布局,但我想将两者结合起来。我目前所拥有的如下图所示,是否可以将前 5 个按钮保持在同一垂直列中,然后将下一组 5 个按钮置于前 5 个垂直列的右侧,然后是最后一个2 在这 5 个右边的第三列?

当前代码:

radioButtons("b_Bet_Sizes", "",
                                choiceNames = list("17.5%", "35%", "62.5%", "75%", "90%", "125%", "150%", "175%","300%","400%","geo2","geo3"),
                                choiceValues = c(0.175,0.35, 0.625, 0.75, 0.9,1.25,1.5,1.75,3,4,"geo2","geo3")
                                ),

你可以玩CSS来满足你的需要。试试这个

css <- "
.shiny-options-group { 
  height: 100px;
  width: 600px;
  -webkit-column-count: 3; /* Chrome, Safari, Opera */ 
    -moz-column-count: 3;    /* Firefox */ 
    
    row-count: 5;
  -webkit-column-fill: auto;
  -moz-column-fill: auto;
  column-fill: auto;
  margin-top: 0px;
} 

.control-label {
  padding-bottom: 10px;
}

div.radio {
  margin-top: 0px;
  margin-bottom: 0px;
  padding-bottom: 5px;
}
"

radioLab <-list(tags$div(align = 'left', 
                         class = 'multicol', 
                         radioButtons("b_Bet_Sizes", "",
                                      choiceNames = list("17.5%", "35%", "62.5%", "75%", "90%", "125%", "150%", "175%","300%","400%","geo2","geo3"),
                                      choiceValues = c(0.175,0.35, 0.625, 0.75, 0.9,1.25,1.5,1.75,3,4,"geo2","geo3")
                         ), style = "font-size:75%")) 


ui <- shinyUI(
  navbarPage("TITLE",
             
             tabPanel("TABULATE",
                      tags$head(tags$style(HTML(css))),
                      fluidRow(    
                        column(width = 6, radioLab, align = "center"),
                        column(6)
                      )
             )))

server <- shinyServer(function(input, output) {
  
})

shinyApp(ui,server)