web-dev-qa-db-ja.com

R光沢-サイドバーパネルの背景

たとえば、単純な光沢のあるアプリケーションがあり、変更したいとします サイドバーパネルの背景。私はcssを試しましたが、背景全体を変更することしかできませんでした。手伝って頂けますか?

私のui.R:

    library(shiny)

    shinyUI(fluidPage(
      includeCSS("www/moj_styl.css"),

      titlePanel("Hello Shiny!"),

      sidebarLayout(
       sidebarPanel(
          sliderInput("bins",
                      "Number of bins:",
                      min = 1,
                      max = 50,
                      value = 30)
        ),

        mainPanel(
          plotOutput("distPlot")
        )
      )
    ))

そして私のserver.R:

    library(shiny)

    shinyServer(function(input, output) {

      output$distPlot <- renderPlot({
        x    <- faithful[, 2]  # Old Faithful Geyser data
        bins <- seq(min(x), max(x), length.out = input$bins + 1)

        hist(x, breaks = bins, col = 'darkgray', border = 'white')
      })

    })

およびmoj_styl.css:

    body {
        background-color: #dec4de;
    }

    body, label, input, button, select { 
      font-family: 'Arial';
    }
12
Marta

これを試して:

library(shiny)

ui <- shinyUI(fluidPage(
  tags$head(tags$style(
    HTML('
         #sidebar {
            background-color: #dec4de;
        }

        body, label, input, button, select { 
          font-family: "Arial";
        }')
  )),
  titlePanel("Hello Shiny!"),

  sidebarLayout(
    sidebarPanel(id="sidebar",
      sliderInput("bins",
                  "Number of bins:",
                  min = 1,
                  max = 50,
                  value = 30)
    ),

    mainPanel(
      plotOutput("distPlot")
    )
  )
))

server <- shinyServer(function(input, output) {

  output$distPlot <- renderPlot({
    x    <- faithful[, 2]  # Old Faithful Geyser data
    bins <- seq(min(x), max(x), length.out = input$bins + 1)

    hist(x, breaks = bins, col = 'darkgray', border = 'white')
  })

})

shinyApp(ui=ui,server=server)

サイドバーには、初期化時に 'col-sm-4'以外の属性がないため、jQueryといくつかのロジックを使用して、色を付ける適切な列を特定できます(サイドバーの背景のみを設定します)。または、列にネストされたフォームにIDを指定して、このフォームの背景に色を付けることができます。

10
Oskar Forsmo

私がそれを見つけることができれば、これはどこかに答えがあります。 (サイドバーの背景色を変更したいときに答えを見つけたので知っています)。 tags$style()関数を使用して、必要なものを取得できます。ボディとウェルのどちらに色を付けたいのか正確には覚えていませんが(どうやら両方を行いました)、結果が出るまで少し遊んでみてください。

sidebarPanel(
  tags$style(".well {background-color:[your_color];}"),
  ...)

.well

9
Benjamin