2011-08-13 88 views
0

嗨,我的問題與我的highcharts'系列'選項。我初始化圖表選項如下:highcharts系列選項的問題

  var options = { 
      chart: { 
       renderTo: 'chart', 
       defaultSeriesType: 'line', 
      }, 
      title: { 
       text: 'Weight Monitor', 
      }, 
      xAxis: { 
       title: { 
        text: 'Date Measurement' 
       }, 
       categories: [] 
      }, 
      yAxis: { 
       title: { 
        text: 'Weight (in Lbs)' 
       } 
      }, 
      series: [] 
    }; 

我保留的類別:[]空白,以便我可以把值在以後的類別。我對我的系列選項也做了同樣的事情。我保留了數據:[]作爲空白以備後用。現在我編寫了填充數據的代碼。

   var lines = [ 
       [2011,150], 
       [2012,121], 
     $.each(lines, function(lineNo, line) { 
      var items = line.toString().split(","); 
      $.each (items, function(itemNo, item) { 

       if(itemNo == 0){ 
        alert("itemNo: " + itemNo + " item: " + item); 
        options.xAxis.categories.push(item); 
        alert(options.xAxis.categories); 
       } 

       else { 
          var series = { 
            data: [] 
          }; 
        alert("itemNo: " + itemNo + " item: " + item); 
        options.series.data.push(parseFloat(item)); 
        alert(options.series.data); 
       }; 
      }); 
     }); 
     var chart = new Highcharts.Chart(options); 

現在,當我執行此代碼,我的類別[]越來越值正常,但是當它處於「options.series.data.push(parseFloat(項目))」的執行被卡住。我在「alert(」itemNo:「+ itemNo +」item:「+ item);」中獲得了適當的值。但在此之後,它掛在一起推序列中的項目。數據[]

任何想法是什麼問題。我在php項目中運行這個JavaScript,所以不知道是否有任何問題,因爲語言。謝謝

回答

2

問題是options.series.data.push(parseFloat(item))

如果你看看你的選項對象,你可以看到你的系列數組是空的。您可以廣告系列在你的選擇對象的定義如下 -

series: [{ 
    data: [] 
}] 

還行

var series = { 
    data: [] 
}; 

是沒有用的。