3

我正在使用 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/

有任何想法吗?

4

2 回答 2

2

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

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

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

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

这就是为什么你得到undefined

演示

于 2012-12-22T02:46:54.720 回答
0

您需要定义您想了解堆叠的系列。

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

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

演示

于 2012-12-21T21:29:41.083 回答