我正在使用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/
有什么想法吗?
答案 0 :(得分:2)
问题是你说你做了以下事情:
chart.options.plotOptions.series.stacking = 'normal';
^
但是你做到了吗? 不,如果你看一下你的小提琴,你会看到你做了以下事情:
chart.options.plotOptions.column.stacking = 'normal';
^
这就是你获得undefined
答案 1 :(得分:0)
您需要定义要知道堆叠的系列。
var stackedVal;
stackedVal = chart.series[0].options.stacking;
alert(stackedVal);
您无法获得全局堆叠值的原因是因为它是来自各个系列元素的覆盖。因此,您可以设置plotOptions.series.stacking = 'normal'
,但在每个系列中,您可以设置自己的单独堆叠。从特定系列的实际内容中读取内容总是更好。