R Shiny边栏

时间:2017-04-24 15:31:00

标签: css r shiny

在Shiny中使用hr()时,您通常可以使用fluidRow()在UI元素下制作横向规则,但不能在文本下的sideBarPanel()中执行此操作。如何制作横向规则或类似的其他内容来划分侧边栏中的文本和UI元素?

1 个答案:

答案 0 :(得分:9)

一般情况下,线条可见,但背景对比度非常低。 要使该行更加可见,您可以通过在ui部分中包含以下内容来修改CSS代码:

  tags$head(
    tags$style(HTML("hr {border-top: 1px solid #000000;}"))
  ),

tags$style(HTML(...))您可以在应用中加入CSS。该行的html标记为hr。其余参数表示行选择,宽度,颜色等的规范。

有关完整的工作示例,请参阅以下内容:

library(shiny)

ui <- fluidPage(
  tags$head(
    tags$style(HTML("hr {border-top: 1px solid #000000;}"))
  ),
   sidebarLayout(
      sidebarPanel(
         "text",
         hr(),
         uiOutput("out")
      ),
      mainPanel(
         plotOutput("distPlot")
      )
   )
)

server <- function(input, output) {
  output$out <- renderUI({
    sliderInput("bins",
                "Number of bins:",
                min = 1,
                max = 50,
                value = 30)
  })
}


shinyApp(ui = ui, server = server)