Как изменить цвет полосы mjs_histogram (с помощью пакета metricsgraphics r)?

Я не могу понять, как изменить цвет гистограммы, созданной с помощью пакета metricsgraphics. Я создал работающее приложение Shiny, которое отображает гистограмму, используя приведенный ниже код:

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

Я добавил color = "# d7191c" mjs_plot и mjs_histogram безрезультатно - в обоих случаях я получил ошибку неиспользованного аргумента. Я ничего не нашел на информационной странице hrbrmstr http://hrbrmstr.github.io/metricsgraphics/. и я не мог найти ничего в руководстве помощи. Кажется, использование опции цвета объясняется для всех типов графиков, кроме гистограмм.

Я не разбираюсь в html/javascript и не знаю, что еще попробовать...


person shelloj    schedule 29.07.2016    source источник


Ответы (1)


Вам придется изменить CSS для классов, соответствующих прямоугольникам гистограммы (ищите имена классов в исходный CSS).

Простой способ сделать это — добавить следующий код в определение UI:

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>;
    }")))

Есть и другие способы добавления пользовательского CSS, см. здесь.

Вот полный пример:

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