簡體   English   中英

R Shiny - 改變方向顏色滑塊輸入

[英]R Shiny - Change direction color sliderInput

我想更改默認情況下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。

我看到來自noUiSliderInput shinyWidgets的 noUiSliderInput 允許改變方向,但它改變的不僅僅是顏色。

是否有捷徑可尋?

外觀由滑塊輸入的sliderInput文件定義,我在這里找到了自定義 shiny 主題。 然后我只是更改了背景和 slider 條的顏色。 不幸的是,我的 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)

在此處輸入圖像描述

感謝starja的回答,我終於找到了如何更改(一個或多個滑塊),其外觀與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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM