Highcharts/highcharteR 绘制 50+ 系列时忽略点颜色

Highcharts/highcharteR ignores point color when plotting 50+ series

我已经 运行 解决了 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)

当 运行 执行上述操作时,您会看到随机颜色(按系列分配)而不是明确指定的 green/red/grey 颜色。将最后一行更改为 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 限制吗?

事实证明这是 highcharteR 的 boost 的问题,它是默认启用的。不确定它的作用,但感谢 this GitHub comment,我发现添加 %>% hc_boost(enabled = FALSE) 可以解决问题。

PS。感谢@raf18seb 测试此问题是否在纯 JS 中仍然存在(它不会)。