gpt4 book ai didi

jquery - highcharts - 更新系列以使其类别比以前少时出错

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

当新数据的列(类别)比以前少时,我在更新 highcharts 图表时遇到问题。

fiddle :http://jsfiddle.net/ggoforth/bZAF7/

假设我有一个类似的图表:

var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'column'
},
xAxis: {
categories: ['pizza', 'french fries']
},
series: [{
data: [55, 32]
}]
});

这将呈现一个包含两列的柱形图。然后,通过某个按钮我执行以下操作:

chart.series[0].setData([55, 32, 17], false);
chart.xAxis[0].setCategories(['pizza', 'french fries', 'nachos'], false);
chart.redraw();

这将更新图表以具有三列。这一切都很好。但是,如果稍后我再次刷新包含 2 列的图表:

chart.series[0].setData([55, 32], false);
chart.xAxis[0].setCategories(['pizza', 'french fries'], false);
chart.redraw();

我收到错误“选项未定义”。这是可重现的,并且这里有一个 fiddle 演示了这个问题:http://jsfiddle.net/ggoforth/bZAF7/

在设置新数据之前,我需要先在图表上进行某种“重置”吗?就像我说的,它在从 2 列 -> 3 列时有效,但反之则不然。

感谢您的帮助!

最佳答案

您可以删除以下行:

chart.xAxis[0].setCategories(['pizza', 'french fries'], false);

<强> Demo

正如您所看到的,问题在于您的新数据不能少于类别数,因此您必须先更新类别,然后再更新系列。就像下面的例子。
http://jsfiddle.net/bZAF7/6/

因此,要解决此问题,您必须反转以下几行。

chart.series[0].setData([55, 32], false);
chart.xAxis[0].setCategories(['pizza', 'french fries'], false);

更新:正如 Greg 在评论中所说,这是 Highcharts https://github.com/highslide-software/highcharts.com/issues/970 的一个错误可能它已在最新的 Highcharts 版本中得到修复。

关于jquery - highcharts - 更新系列以使其类别比以前少时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10657942/

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