Highcharts'验证堆叠问题

时间:2012-12-21 20:25:57

标签: javascript plot highcharts

我正在使用Highcharts为我的系统用户绘制一些图形。它工作正常,但我在堆叠选项方面遇到了一些麻烦。

要叠加图表,这就是我正在做的事情:

chart.options.plotOptions.series.stacking = 'normal';

据Highcharts API称,这就是它的完成方式。它工作正常;但是除了堆叠之外,我还需要向用户显示一些信息,但这些信息只有在图表堆叠时才可见。所以这就是我正在做的事情:

var stacking = chart.options.plotOptions.series.stacking;
if (stacking == 'normal'){
      //show something
}

这应该确保图表是堆叠的,但“堆叠”总是返回“未定义”而不是“正常”或空白 - 即使在另一个函数中我只是将其归为“正常”。请记住,“chart”是一个全局变量,因此任何其他JS函数都可以访问它的任何更改。

详细信息:http://jsfiddle.net/GtjdU/

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

问题是你说你做了以下事情:

chart.options.plotOptions.series.stacking = 'normal';
                            ^

但是你做到了吗? 不,如果你看一下你的小提琴,你会看到你做了以下事情:

chart.options.plotOptions.column.stacking = 'normal';
                            ^

这就是你获得undefined

的原因

demo

答案 1 :(得分:0)

您需要定义要知道堆叠的系列。

var stackedVal;
stackedVal = chart.series[0].options.stacking;
alert(stackedVal);

您无法获得全局堆叠值的原因是因为它是来自各个系列元素的覆盖。因此,您可以设置plotOptions.series.stacking = 'normal',但在每个系列中,您可以设置自己的单独堆叠。从特定系列的实际内容中读取内容总是更好。

DEMO