动态着色的 sliderInput
Dynamically colored sliderInput
我有一个与 post How to color sliderbar (sliderInput)? 有关的问题。
是否可以让 sliderInput 根据所选值改变颜色?
我想为用户提供从 0 到 10 的输入值。但是,有一个建议的范围,比如 4 到 8。因此,如果用户选择,滑块颜色应该是绿色介于 4 和 8 之间的值,但如果选择的值超出推荐范围,它应该变为橙色(或红色)。
如能提供有关实现此功能的任何帮助,我们将不胜感激。
使用 renderUI,随心所欲地控制 color() 中的条件
rm(list = ls())
library(shiny)
ui <- fluidPage(
sliderInput("slider1", "Slider 1",min = 0, max = 10, value =c(4,8),
step = 1),
uiOutput("abc")
)
server <- function(input, output, session){
color <- reactive({
if(input$slider1[1] < 4 || input$slider1[2] > 8 ){
tags$style(HTML(".js-irs-0 .irs-single, .js-irs-0 .irs-bar-
edge, .js-irs-0 .irs-bar {background: red}"))
}else{
tags$style(HTML(".js-irs-0 .irs-single, .js-irs-0 .irs-bar-
edge, .js-irs-0 .irs-bar {background: lightgreen}"))
}
})
output$abc <- renderUI({
color()
})
}
shinyApp(ui = ui, server=server)
我有一个与 post How to color sliderbar (sliderInput)? 有关的问题。
是否可以让 sliderInput 根据所选值改变颜色?
我想为用户提供从 0 到 10 的输入值。但是,有一个建议的范围,比如 4 到 8。因此,如果用户选择,滑块颜色应该是绿色介于 4 和 8 之间的值,但如果选择的值超出推荐范围,它应该变为橙色(或红色)。
如能提供有关实现此功能的任何帮助,我们将不胜感激。
使用 renderUI,随心所欲地控制 color() 中的条件
rm(list = ls())
library(shiny)
ui <- fluidPage(
sliderInput("slider1", "Slider 1",min = 0, max = 10, value =c(4,8),
step = 1),
uiOutput("abc")
)
server <- function(input, output, session){
color <- reactive({
if(input$slider1[1] < 4 || input$slider1[2] > 8 ){
tags$style(HTML(".js-irs-0 .irs-single, .js-irs-0 .irs-bar-
edge, .js-irs-0 .irs-bar {background: red}"))
}else{
tags$style(HTML(".js-irs-0 .irs-single, .js-irs-0 .irs-bar-
edge, .js-irs-0 .irs-bar {background: lightgreen}"))
}
})
output$abc <- renderUI({
color()
})
}
shinyApp(ui = ui, server=server)