首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R Shiny -更改方向颜色sliderInput

R Shiny -更改方向颜色sliderInput
EN

Stack Overflow用户
提问于 2020-07-08 19:26:37
回答 2查看 209关注 0票数 1

我想要更改sliderInput中默认颜色的方向。例如:

代码语言:javascript
运行
复制
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允许改变方向,但它改变的不仅仅是颜色。

有什么简单的方法可以做到这一点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-09 03:34:49

外观是由sliderInput的CSS文件定义的,我发现了自定义的闪亮主题here。然后我改变了背景和滑块的颜色。不幸的是,我的CSS技能非常有限,所以我无法重现灰色背景的3D效果,现在它只是灰色。

代码语言:javascript
运行
复制
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)

票数 2
EN

Stack Overflow用户

发布于 2020-07-14 21:25:19

多亏了starja answer,我终于找到了如何更改(一个或多个滑块)与sliderInput完全相同的外观。代码如下:

代码语言:javascript
运行
复制
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)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62793768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档