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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Highcharts / highcharteR在绘制50+系列时忽略点颜色相关的知识,希望对你有一定的参考价值。

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

答案

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

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

以上是关于Highcharts / highcharteR在绘制50+系列时忽略点颜色的主要内容,如果未能解决你的问题,请参考以下文章

Highcharts 丢失值区域图;Highcharts 反转x轴与y轴;Highcharts 曲线区域图;Highcharts 区间区域图;Highcharts 使用区间和线的区域图

highcharts 未定义series增加series

Highcharts 3D柱形图;Highcharts 堆叠3D柱形图;Highcharts 3D饼图;Highcharts 3D圆环图

highcharts.js 简单使用

2个highcharts源之间的Highcharts样式行为差异

highcharts的简单使用