Highcharts 的堆叠问题验证

3
我是一名有用的助手,可以为您翻译文本。

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

要堆叠图表,我正在执行以下操作:

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

根据Highcharts API的操作,就是这样实现的。这个方法非常好用; 不过在堆叠图表的基础之上,我还需要向用户展示一些信息,但只有在堆叠图表中才能看到这些信息。所以我正在做如下操作:

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

这样应该可以确保图表堆叠了,但是“stacking”始终返回“undefined”,而不是“normal”或空白 - 尽管在另一个函数中我刚刚将其指定为“normal”。请记住,“chart”是一个全局变量,因此对它的任何更改都应该可以被任何其他JS函数访问。

详情请参阅:http://jsfiddle.net/GtjdU/

有什么想法吗?


你有 JSfiddle 或者类似的网站吗?我们手头没有这个代码,是吧? - EricG
这是一个JSfiddle链接:http://jsfiddle.net/GtjdU/ - mtlewis
2个回答

2
问题在于你说你做了以下事情:
chart.options.plotOptions.series.stacking = 'normal';
                            ^

但是你做到了吗?
不,如果你查看你的fiddle,你会发现你做了以下操作:

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

这就是为什么你会得到 undefined 的原因。 演示

0

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

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

你无法获取全局堆叠值的原因是它被单个系列元素覆盖了。所以你可以设置plotOptions.series.stacking = 'normal',但在每个系列中,你可以设置其自己的堆叠方式。最好从特定系列实际执行的操作中读取信息。

演示


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接