2012-12-21 71 views
3

我正在使用Highcharts为我的系统用户绘制一些图形。它工作正常,但我有一些堆栈选项的麻烦。Highcharts'验证堆栈问题

以层叠图表,这里是我在做什么:

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

这就是它是如何做,根据Highcharts API。它工作正常;但是除了堆叠之外,我还需要向用户显示一些信息,但这些信息只有在图表堆叠时才可见。因此,这里是我在做什么:

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

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

详情:http://jsfiddle.net/GtjdU/

任何想法?

+0

你有没有的jsfiddle,或现场?我们手边没有这个代码吗? – EricG

+0

这是JSfiddle:http://jsfiddle.net/GtjdU/ – mtlewis

+0

放入您的文章;) – EricG

回答

0

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

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

您无法获得全局堆栈值的原因是因为它是从个别系列元素覆盖。所以你可以设置plotOptions.series.stacking = 'normal',但是在每个系列中你可以设置自己的堆叠。从特定系列的实际操作中读取总是比较好的。

DEMO

2

的问题是,你说你做了以下内容:

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

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

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

这就是为什么你要undefined

demo