R in Shiny:如何将单选按钮调整为列的网格宽度?

时间:2016-07-28 07:54:08

标签: r shiny

问题很简单。我的代码包含以下几行:

fluidRow(
   column(12, "some text"),
fluidRow(
   column(12, radioButtons("buttons", "please select a choice", choices = list("A" = 1, "B" = 2, "C" = 3), selected = FALSE, inline = TRUE)))

我希望选项(单选按钮)均匀分布在网格宽度上。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:-1)

您基本上需要使用额外的css参数来执行此操作。

假设参数是您的选择:

parameters <- c("A", "B", "C", "D")

要拥有多列单选按钮:添加其他类:

controls <-list(tags$div(align = 'left', 
                      class = 'multicol', 
                      radioButtons(inputId  = 'buttons', 
                                         label = "Select the parameters: ",
                                         choices  = parameters,
                                         selected = "A",
                                         inline   = FALSE), style = "font-size:90%")) 

将css值应用于添加的类:

tweaks <- list(tags$head(tags$style(HTML("
                                       .multicol { 
                                       height: 150px;
                                       -webkit-column-count: 5; /* Chrome, Safari, Opera */ 
                                       -moz-column-count: 5;    /* Firefox */ 
                                       column-count: 5; 
                                       -moz-column-fill: auto;
                                       -column-fill: auto;
                                       } 
                                       ")) 
))

通过重置列数....您可以在所需数量的列上放置单选按钮。您可以在UI之外(在UI启动之前或在global.R中)使用对象调整。这也适用于复选框。