我想显示一个包含来自json文件的数据的stacklabel,类似于此。 http://jsfiddle.net/prJjY/183/
我的代码......
yAxis: {
title: {text:'%'},
stackLabels: {
style: {color: 'black'},
enabled:true,
formatter: function() {
console.log(this.axis.series[0].data);
return (this.axis.series[0].yData[this.y]) + '%';
}
}},
和我的json文件......
[{"y":4.2,"z":"0412","stack":"10a","color":"red"}...
这是一个简单的疑问。当我控制series.data时,它会显示json中的所有对象。 我需要得到'this'数据。
this.axis.series[0].data[this].stack);
但这不起作用,如果我把0改为此,
this.axis.series[0].data[0]
//it works (without stack part) with stack part i got a '...data[0] is undefined'
通过这种方式,我将始终从零对象获得数据。
我的代码工作缺少什么?
在第一个回答后我做了这个......
var temp = this.axis.series [0] .data [this.x];
for(var propertyName in temp) {
console.log(temp["stacko"]); //inside the for it works
;}
console.log(temp["stacko"]); //outside the for I get Undefined
为什么呢? :'(
答案 0 :(得分:1)
尽管Pawel Fus的答案应该有效,但事实证明你必须通过选项来获取数据..
喜欢这样,
this.axis.series[0].options.data[this.x].stack
答案 1 :(得分:0)
我认为问题是您使用this
作为参考,但您应该使用this.x
代替:
this.axis.series[0].data[this.x].stack);