我想要更改sliderInput中默认颜色的方向。例如:
ui <- fluidPage(
fluidRow(
column(width = 6,
sliderInput( inputId = "mySlider",
label = "Some text",
min = 0, max = 50,
value = 10
)
)
)
)
server <- function(input, output, session) {}
shinyApp(ui, server)
而不是将蓝色填充为0到10 (初始值),填充为10到50。
我看到shinyWidgets
包中的noUiSliderInput
允许改变方向,但它改变的不仅仅是颜色。
有什么简单的方法可以做到这一点吗?
发布于 2020-07-09 03:34:49
外观是由sliderInput
的CSS文件定义的,我发现了自定义的闪亮主题here。然后我改变了背景和滑块的颜色。不幸的是,我的CSS技能非常有限,所以我无法重现灰色背景的3D效果,现在它只是灰色。
library(shiny)
ui <- fluidPage(
fluidRow(
column(width = 6,
tags$head(tags$style(HTML("
.irs-bar {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
background: #ddd;
}
.irs-bar-edge {
border: 1px solid #ddd;
background: #ddd;
}
.irs-line {
background: #428bca;
border: 1px solid #428bca;
}"))),
sliderInput( inputId = "mySlider",
label = "Some text",
min = 0, max = 50,
value = 10
)
)
)
)
server <- function(input, output, session) {}
shinyApp(ui, server)
发布于 2020-07-14 21:25:19
多亏了starja answer,我终于找到了如何更改(一个或多个滑块)与sliderInput
完全相同的外观。代码如下:
library(shiny)
css <- "
#reverseSlider .irs-bar {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
background: linear-gradient(to bottom, #DDD -50%, #FFF 150%);
}
#reverseSlider .irs-bar-edge {
border: 1px solid #ddd;
background: linear-gradient(to bottom, #DDD -50%, #FFF 150%);
border-right: 0;
}
#reverseSlider .irs-line {
background: #428bca;
border: 1px solid #428bca;
}
"
ui <- fluidPage(
fluidRow(
column(width = 6,
tags$style(type='text/css', css),
div(id = "reverseSlider",
sliderInput( inputId = "mySlider1",
label = "Some text",
min = 0, max = 50,
value = 10 )
),
sliderInput( inputId = "mySlider2",
label = "Some other text",
min = 0, max = 50,
value = 10 )
)
)
)
server <- function(input, output, session) {}
shinyApp(ui, server)
https://stackoverflow.com/questions/62793768
复制相似问题