排列R个闪亮的侧栏对象

时间:2018-09-20 10:15:42

标签: r shiny sidebar

我使用R Shiny创建了以下接口。

  library(shiny)




  ui <- fluidPage(
  #Can be fluid row also
  fluidRow(
  column(3,
       h3("Excel DB"),
       hr(),
       fileInput("file1", "Excel DB",
                 multiple = TRUE,
                 accept = c("text/csv/xlsx/xls",
                            "text/comma-separated-values,text/plain",
                            ".csv", ".xls", ".xlsx")),
       textInput(inputId = 'Type',label =  'Type'),
       textInput(inputId = 'Client',label =  'Client'),
       textInput(inputId = "Task", label = "Task"),
       actionButton(inputId = "ClearAll", label = "Clear Screen"),
       radioButtons("dist", "Vertical Axis Scale",
                    c("Linear" = "Linear Regression",
                      "Log" = "Logistic Regression"))
),
column(5,h5('              '),
       hr(), downloadButton(outputId = "Downloaddata", label = "Fetch Dataset"),
       textInput(inputId = "Commodity", label = "Commodity"),
       textInput(inputId = "Year", label = "Year"),
       radioButtons("dist", "Horizontal Axis Scale",
                    c("Linear" = "Linear Regression",
                      "Log" = "Logistic Regression")),
       numericInput(inputId = "Numberinput", label = "Numinput", min = -1000000000, max = 1000000000, value = 0,step = 1)

)
), sliderInput(inputId = "Scale", label = "Scale", min = 0, max = 100, step 
= 2.5, value = 1)
)

我创建了以下空服务器

server<-function(input, output){}
shinyApp(ui, server)

上面的代码创建了一个带有两列边栏面板的闪亮应用程序。但是,两列彼此不对齐。我想知道如何按以下步骤安排应用程序的组件。

“获取数据集”按钮应位于浏览按钮的旁边。同样,商品文本框应位于类型文本框旁边,年份框应位于客户附近。两组单选按钮应彼此对齐。我在这里寻求帮助。无法按照这种方式安排他们

1 个答案:

答案 0 :(得分:1)

要实现此目的,您需要嵌套column()fluidRow()This answer应该提供足够的说明,以帮助您入门,以及Shiny's layout guide上的示例。我相信以下内容可以大致满足您的需求:

library(shiny)

ui <- fluidPage(
  #Can be fluid row also
  h3("Excel DB"),
  hr(),
  fluidRow(
    column(12,
           fluidRow(
             column(3,
                    fileInput("file1", NULL,
                              multiple = TRUE,
                              accept = c("text/csv/xlsx/xls",
                                         "text/comma-separated-values,text/plain",
                                         ".csv", ".xls", ".xlsx"))),
             column(5,
                    column(3,
                           downloadButton(outputId = "Downloaddata", label = "Fetch Dataset")),
                    column(2, offset = 2,
                           actionButton(inputId = "ClearAll", label = "Clear Screen"))
                    )
           ),
           fluidRow(
             column(3,
                    textInput(inputId = 'Type',label =  'Type'),
                    textInput(inputId = 'Client',label =  'Client'),
                    textInput(inputId = "Task", label = "Task")
             ),
             column(5,
                    textInput(inputId = "Commodity", label = "Commodity"),
                    textInput(inputId = "Year", label = "Year"),
                    numericInput(inputId = "Numberinput", label = "Numinput", min = -1000000000, max = 1000000000, value = 0,step = 1)
             )),
           fluidRow(
             column(3,
                    radioButtons("dist", "Vertical Axis Scale",
                                 c("Linear" = "Linear Regression",
                                   "Log" = "Logistic Regression"))),
             column(5,
                    radioButtons("dist", "Horizontal Axis Scale",
                                 c("Linear" = "Linear Regression",
                                   "Log" = "Logistic Regression")))
             ),
           fluidRow(
             column(5,
                    sliderInput(inputId = "Scale", label = "Scale", min = 0, max = 100, 
                                step = 2.5, value = 1)) 
             )
           )
    )
  )

reprex package(v0.2.1)于2018-09-20创建