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

问题描述 投票:0回答:1

我遇到了一个问题,在绘制一定数量的系列时,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的限制吗?

r highcharts r-highcharter
1个回答
0
投票

原来是highcharteR的boost存在问题,默认情况下已启用。不知道该怎么做,但是由于this GitHub comment,我发现添加%>% hc_boost(enabled = FALSE)可以解决问题。

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

© www.soinside.com 2019 - 2024. All rights reserved.