highcharts列堆栈标签

时间:2014-01-30 15:19:43

标签: javascript jquery json highcharts

我想显示一个包含来自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

为什么呢? :'(

2 个答案:

答案 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);