Highcharts / highcharteR игнорирует точечный цвет при построении серии 50+ - PullRequest
0 голосов
/ 17 апреля 2020

Я столкнулся с проблемой, когда Highcharts / highcharteR, кажется, игнорирует цвета отдельных точек при построении определенного числа серий.

Воспроизводимый пример:

library(highcharter)

ll <- list()
for (i in 1:50) {
  ll[[i]] <- list(
              name = i,
              data = list_parse(
                        data.frame("x" = rep(i, 3),
                                   "y" = sample(1:10, 3, replace=TRUE),
                                   "z" = sample(1:5, 3, replace=TRUE),
                                   "color" = sample(c("green","red","grey"), 3))
                     )
              )
}
highchart() %>%
    hc_chart(type = "bubble") %>%
    hc_add_series_list(ll)

При выполнении вышеупомянутого вы увидите случайные цвета (назначенные для каждой серии) вместо явно указанных зеленых / красных / серых цветов. Изменение последней строки на hc_add_series_list( ll[1:49] ) показывает правильные заданные цвета. Я думал, что это проблема с последним элементом списка, но изменение последней строки на hc_add_series_list( ll[2:50] ) также дает правильный результат.

Создание списка только с 49 элементами (т. Е. Изменение for (i in 1:50) на for (i in 1:49) не имеет этой проблемы (при создании списка из 51 элемента). Кажется, что построение 50 или более рядов является своего рода обрезанием. Это ограничение highcharts / JS?

1 Ответ

0 голосов
/ 20 апреля 2020

Оказывается, это проблема с boost highcharteR, который включен по умолчанию. Не уверен, что он делает, но благодаря этому комментарию GitHub я обнаружил, что добавление %>% hc_boost(enabled = FALSE) решает проблему.

PS. Спасибо @ raf18seb за проверку, сохраняется ли эта проблема на чистом JS (нет).

...