2011-08-13 9 views
0

こんにちは、ハイチャートの「シリーズ」オプションに問題があります。私はカテゴリを保持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";)に適切な値を得ています。その直後にitem.data []を押しながらハングします。

何が問題なのでしょうか。私はPHPプロジェクトでこのjavascriptを実行しているので、言語の問題があるかどうかはわかりません。ありがとう

答えて

2

問題はoptions.series.data.push(parseFloat(item))です。

オプションオブジェクトを見ると、系列配列が空であることがわかります。また

series: [{ 
    data: [] 
}] 

var series = { 
    data: [] 
}; 

は役に立たないライン - 次のようにして、広告のシリーズは、あなたのオプション定義にオブジェクトをすることができます。