Highcharter бар цвета проблема - PullRequest
0 голосов
/ 17 февраля 2019

У меня есть следующая функция:

library(highcharter)
hchart(
  newdata,
  "bar",
  hcaes(
    x = Gender,
    group = is_churner,
    y = Percent,
    label = Nominal,
    color = color
  )
) %>%
  hc_title(text = "") %>%
  hc_yAxis(
    title = list(text = ""),
    labels = list(format = "{value}")
  ) %>%
  hc_xAxis(title = list(text = "")) %>%
  hc_tooltip(
    pointFormat = "
      Percent: {point.y:,.0f}%<br>
      Nominal: {point.label:,.0f}<br>"
  )

Функция принимает фрейм данных, например:

newdata <- data.frame(
  Gender = c(rep("Female", 2), rep("Male", 2)),
  is_churner = c("Active", "Churner", "Active", "Churner"),
  Nominal = c(7267L, 933L, 9767L, 1313L),
  Percent = c(42.7, 41.5, 57.3, 58.5), 
  color = c("green", "red", "green", "red")
) %>%
  dplyr::group_by(is_churner)

Один из столбцов - цвет должен отображаться наЦветовой аргумент функции hchart.Насколько я помню, это то, что раньше работало.

Теперь, однако, я получаю действительно уродливый график.

Ни цвета столбцов не соответствуют столбцу цветов, ни легенда ниже (то, что представляют цвета) окрашены соответственно,

Что я делаю не так?

enter image description here

Ответы [ 2 ]

0 голосов
/ 21 августа 2019

У меня была такая же проблема, в моем случае оказалось, что мои CSS-файлы имеют приоритет над цветами, указанными в hchart цвете.

Когда я удалил соответствующие строки в CSS-файлах, цветКоманда работает так, как вы указали.Вам не нужно называть это отдельно за пределами hcaes.

0 голосов
/ 17 февраля 2019

Я считаю, что цвет должен вызываться отдельно вне hcaes, но ваш подход кажется более интуитивным / разумным, поэтому стыдно, что он не работает.Работает следующее:

hchart(
  newdata,
  "bar",
  hcaes(
    x = Gender,
    group = is_churner,
    y = Percent,
    label = Nominal
  ), color = c("green", "red")
) %>%
  hc_title(text = "") %>%
  hc_yAxis(
    title = list(text = ""),
    labels = list(format = "{value}")
  ) %>%
  hc_xAxis(title = list(text = "")) %>%
  hc_tooltip(
    pointFormat = "
    Percent: {point.y:,.0f}%<br>
    Nominal: {point.label:,.0f}<br>"
  )

Также работает следующее:

hchart(
  newdata,
  "bar",
  hcaes(
    x = Gender,
    group = is_churner,
    y = Percent,
    label = Nominal
  )
) %>%
  hc_title(text = "") %>%
  hc_yAxis(
    title = list(text = ""),
    labels = list(format = "{value}")
  ) %>%
  hc_xAxis(title = list(text = "")) %>%
  hc_tooltip(
    pointFormat = "
    Percent: {point.y:,.0f}%<br>
    Nominal: {point.label:,.0f}<br>"
  ) %>% 
  hc_colors(c("green", "red"))

Я удалил цвет из hcaes и добавил его вместо hc_colors.

...