更改sliderInput的颜色

时间:2017-11-04 22:27:06

标签: r shiny

这就是我闪亮的应用程序的样子: enter image description here

使用红色导航栏时,蓝色滑块看起来很糟糕。有谁知道如何将其改为红色?我正在使用shinytheme("united")

2 个答案:

答案 0 :(得分:2)

这类似于@LyzandeR答案,但使用更简单的代码并且不使用任何其他软件包

library(shiny)

mycss <- "
.irs-bar,
.irs-bar-edge,
.irs-single,
.irs-grid-pol {
  background: red;
  border-color: red;
}
"

ui <- fluidPage(
  tags$style(mycss),
  sliderInput("num", "Number", 0, 10, 5)
)

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

shinyApp(ui, server)

答案 1 :(得分:1)

这不是最简单的任务,但它可能会发生。您需要做的就是更改默认情况下闪亮使用的默认引导程序主题的CSS。我将使用tableHTML(允许您从ui添加一个CSS文件)以显示要更改的CSS:

library(tableHTML)
ui <- fluidPage(
 tags$style(make_css(list('.irs-bar', 
                          c('border-top', 'border-bottom', 'background'), 
                          rep('red', 3)),
                     list('.irs-bar-edge',
                          c('background', 'border'),
                          c('red', '0px !important')),
                     list('.irs-single',
                          'background',
                          'red'))),
 sliderInput("obs", "Number of observations:",
             min = 0, max = 1000, value = 500
 ),
 plotOutput("distPlot")
)

# Server logic
server <- function(input, output) {
 output$distPlot <- renderPlot({
  hist(rnorm(input$obs))
 })
}

# Complete app with UI and server components
shinyApp(ui, server)
}

正如您在上面所见(在make_css函数中),您需要更改.irs-bar.irs-bar-edge.irs-single,并添加您想要的颜色。我用的是标准的红色。如果您想了解更多信息,可以在tableHTML::make_css here找到相关教程。

enter image description here