2014-01-30 103 views
0

我想顯示來自json文件的數據的stacklabel,與此類似。 http://jsfiddle.net/prJjY/183/highcharts列堆棧標籤

我的代碼...

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.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' 

這樣我就從零對象總是得到的數據。

我的代碼工作缺少什麼?

我這樣做的第一個答案後...

變種臨時= this.axis.series [0]。數據[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

我認爲這個問題是您正在使用this作爲參考,但你應該使用this.x代替:

this.axis.series[0].data[this.x].stack); 
+0

謝謝,第一個問題的解決,是this.x,但仍存在發生同樣的問題與數據[0],當我添加「.stack」時,我得到一個「數據[this.x]未定義」 – luckasx

+0

您可以重新創建jsFiddle上的第二個問題嗎?謝謝! –

+0

我創建這個小提琴的基礎上的例子,但在小提琴不工作,在我的電腦工作,http://jsfiddle.net/jonsnowx/j6ntL/,至少有可能得到的想法 – luckasx

1

即使帕維爾畢淑敏的答案應該工作,事實證明,你必須去通過選項得到的數據..

像這樣,

this.axis.series[0].options.data[this.x].stack