gpt4 book ai didi

javascript - 如何使 Highcharts 在重新绘制时使用所有颜色? (不必要地重复颜色)

转载 作者:行者123 更新时间:2023-12-03 06:08:03 24 4
gpt4 key购买 nike

我正在使用 Highcharts.js 库渲染图表

 $('#container').highcharts({
title: {
...

我有一些复选框来选择要绘制的系列。根据我第一次绘制的系列,颜色会有所不同。

如何重现

  1. 转到示例:http://jsfiddle.net/1u98o3aq/1/
  2. 仅选择“Tokyo”复选框,点击绘图
  3. 选择“纽约”复选框,点击绘图
  4. 选择“柏林”复选框,点击绘图
  5. ...

正如您所看到的,它没有使用所有颜色,所有颜色都以蓝色绘制。

jsfiddle example

您现在可以取消选择所有内容,绘图。然后选择一切,情节。 4系列将全部保持相同的颜色。

但是,如果您再次启动(运行)该示例,并且这次选择所有内容并进行绘图,现在它会正确呈现。现在您可以取消选择所有内容并一项一项地进行。颜色是对的。

如果您现在仅选择第二个和第三个系列,则将使用第二个和第三个颜色(无蓝色)。

这就像 Higcharts 为每个系列缓存一种颜色(这不应该),并且在添加更多要显示的系列时选择错误(从颜色 0 开始)。

使用自定义颜色并不能解决问题。

最佳答案

我认为您的问题与您如何将系列加载到图表有关。

现在,当您加载新图表时,您将基于之前绘制的系列(您正在更新系列数组)。

为了避免出现问题,您应该能够在将数组加载到图表中之前对其进行复制:

lastSeries = $.extend(true, [], seriesSelection);

在这里您可以看到它如何工作的示例:http://jsfiddle.net/1u98o3aq/3/

关于javascript - 如何使 Highcharts 在重新绘制时使用所有颜色? (不必要地重复颜色),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39446749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com