更改闪亮的rpivottable的颜色



我拼命地试图更改rpivottable软件包的默认颜色。我还在包装的创建者的Github中发布了一个问题,但是还没有人回答,因此,如果有人知道如何解决此问题,我将不胜感激。

我的主要问题是在变量选择下方的矩形中更改蓝色:示例

使用我在Internet上找到的此功能,我设法更改了整个背景,但没有我想要的特定的东西(到目前为止仅在Shinny之外(:

style_widget <- function(hw=NULL, style="", addl_selector="") {
  stopifnot(!is.null(hw), inherits(hw, "htmlwidget"))
  # use current id of htmlwidget if already specified
  elementId <- hw$elementId
  if(is.null(elementId)) {
    # borrow htmlwidgets unique id creator
    elementId <- sprintf(
      'htmlwidget-%s',
      htmlwidgets:::createWidgetId()
    )
    hw$elementId <- elementId
  }
  htmlwidgets::prependContent(
    hw,
    htmltools::tags$style(
      sprintf(
        "#%s %s {%s}",
        elementId,
        addl_selector,
        style
      )
    )
  )
}
pivot_graph<-rpivotTable(mtcars)
browsable(
  tagList(
    style_widget(hw=pivot_graph, "background-color: rgb(245, 245, 245);", "table td")
  )
)

但是,当我尝试闪亮时,我无法弄清楚该放置什么以及如何做(甚至是使用此功能(。任何帮助都将受到赞赏。到目前为止,我闪亮的代码:

library(shiny)
library(rpivotTable)
library(rvest)
ui <- fluidPage(
  titlePanel("Cars"),
  sidebarLayout(
    sidebarPanel(
      fileInput('file1', 'Choose CSV File',
                accept=c('text/csv','text/comma-separated-values,text/plain','.csv')),
      actionButton("save1","Save Table 1")
      # actionButton("save2","Save Table 2")
    ),
    mainPanel(
      tabsetPanel(
        tabPanel("Pivot Table 1",
                 rpivotTableOutput("table")),
        tabPanel("Pivot Table 2",
                 rpivotTableOutput("table2"))
      )
    )
  )

)

server <- function(input, output,session)
{
  session$onSessionEnded(stopApp)
  observe({
    file1 = input$file1
    if (is.null(file1)) {
      return(NULL)
    }
    st_data <<- read.csv(file1$datapath)

    output$table <- renderRpivotTable({
      rpivotTable(mtcars,
                  rendererName="Table",
                  onRefresh = htmlwidgets::JS("function(config) {Shiny.onInputChange('myData', 
                                              document.getElementById('table').innerHTML); }")
      )
    })

    output$table2 <- renderRpivotTable({
      rpivotTable(mtcars,aggregatorName="Average",   
                  rendererName="Table",
                  onRefresh = htmlwidgets::JS("function(config) {Shiny.onInputChange('myData', 
                                                  document.getElementById('table').innerHTML); }")
      )
    })
    summarydf <- eventReactive(input$myData,{
      input$myData %>%
        read_html %>%
        html_table(fill = TRUE) %>%
        .[[2]]
    })
    observeEvent(input$save1, {
      if(nrow(summarydf() )<1) return()
      write.csv(summarydf(), file="./cars1.csv")
    })
    # summarydf1 <- eventReactive(input$myData1,{
    #   input$myData1 %>%
    #     read_html %>%
    #     html_table(fill = TRUE) %>%
    #     .[[4]]
    # })
    # 
    # observeEvent(input$save2, {
    #   if(nrow(summarydf1() )<1) return()
    #   write.csv(summarydf1(), file="./cars2.csv")
    # })
    })
}
shinyApp(ui = ui, server = server)

以下代码将将浅蓝色更改为非常深蓝色。

您可以以类似的方式更改任何pivot.min.css代码:唯一的挑战是确定哪个是正确的元素!

要更改颜色,搜索JavaScript颜色图,然后将#000080更改为您需要的任何内容。

library(shiny)
df <- iris
ui <- fluidPage(
            tags$style(type="text/css",".pvtRows, .pvtCols { background: #000080 none repeat scroll 0 0; }" ),
                        fluidRow(
                            column(width=10, rpivotTableOutput("pivot"))
                            )
                        )
server <- function(input, output, session) {
output$pivot<-renderRpivotTable({
            rpivotTable(df,
                rendererName="Heatmap",
                cols=c("Species"),
                rows=c("Petal.Width"),
                aggregatorName="Count"
                )

        })
}
shinyApp(ui = ui, server = server)

请让我知道这是否解决了您的要求。

相关内容

  • 没有找到相关文章

最新更新