Bagaimana cara mengubah warna bilah mjs_histogram (menggunakan paket metricsgraphics r)?

Sepertinya saya tidak tahu cara mengubah warna histogram yang dibuat menggunakan paket metricsgraphics. Saya telah membuat aplikasi Shiny yang berfungsi yang menampilkan histogram menggunakan kode di bawah ini:

mjs_plot(zedata()$Value, format="count") %>% 
        mjs_histogram(bins = 10) %>%
        mjs_labs(x=input$item, y="Number of VA Medical Centers")

Saya menambahkan color = "#d7191c" mjs_plot dan mjs_histogram tetapi tidak berhasil - saya mendapat kesalahan argumen yang tidak digunakan pada kedua kesempatan. Saya tidak dapat menemukan apa pun di halaman info hrbrmstr http://hrbrmstr.github.io/metricsgraphics/ saya juga tidak dapat menemukan apa pun di manual bantuan. Tampaknya penggunaan opsi warna dijelaskan untuk setiap jenis grafik selain histogram.

Saya tidak mahir dalam html/javascript dan tidak yakin harus mencoba apa lagi...


person shelloj    schedule 29.07.2016    source sumber


Jawaban (1)


Anda harus memodifikasi CSS untuk kelas yang sesuai dengan persegi panjang histogram (cari nama kelas di CSS asli).

Cara mudah untuk melakukannya adalah dengan menambahkan kode berikut ke dalam definisi UI Anda :

tags$head(
  tags$style(HTML("
    .mg-histogram .mg-bar rect {
        fill: <your_color>;
        shape-rendering: auto;
    }

    .mg-histogram .mg-bar rect.active {
        fill: <another_color>;
    }")))

Ada cara lain untuk menambahkan CSS khusus, lihat di sini.

Berikut ini contoh lengkapnya:

n <- 5
library(metricsgraphics)
library(shiny)

# Define the UI
ui <- bootstrapPage(
  tags$head(
    tags$style(HTML("
      .mg-histogram .mg-bar rect {
          fill: #ff00ff;
          shape-rendering: auto;
      }

      .mg-histogram .mg-bar rect.active {
          fill: #00f0f0;
      }"))),
  numericInput('n', 'Number of obs', n),
  metricsgraphicsOutput('plot')
)

server <- function(input, output) {
  output$plot <- renderMetricsgraphics({
    mjs_plot(mtcars$mpg, format="count") %>% 
      mjs_histogram(bins = input$n)
  })
}

shinyApp(ui = ui, server = server)
person Tutuchan    schedule 29.07.2016