2017-02-22 16 views
3

新しいデータを設定:HightChartは、私は、このような日付と値とhighchart初期化

series: [{ 
     name: 'Tokyo', 
     data: 
     [ 
      [Date.parse("01/02/2017"),11], 
      [Date.parse("02/02/2017"),22], 
     ] 

    },{ 
     name: 'Tehran', 
     data: 
     [ 
      [Date.parse("01/02/2017"),33], 
      [Date.parse("02/02/2017"),44], 
     ]  
    }] 

を上記の例chartArrayでHighChartに正常に追加されます。

ここで私はチャートで新しいデータを設定したいと思います。これを行うにはHighChart.series[0].setData()メソッドを使用します。

JS:私だけのチャートにnew dataを設定し、このコードで

$('#btnUpdate').('click', function(){ 
    $.post('/Reporst/GetReportsJson/', data, function (dataR) { 
     var chartArray = []; //for chart value 
     var dateArray = []; // for chart date, X Axis 
     for (var i in dataR) { 
      for (var ii in dataR[i].finalChart) { 
      dateArray.push(dataR[i].finalChart[ii].date1); 
      chartArray.push(parseInt(dataR[i].finalChart[ii].value)); 
      } 
     HighChart.series[i].setData(chartArray);  
     dateArray = []; chartArray = []; 
    } 
}) 

、私の質問は:私は、チャートのためnew datenew datanew labelを設定できますか?

答えて

1

シリーズのデータ​​は、データポイントごとに、2つの要素の1つの配列(最初の要素の場合は日付)と2番目の要素の値(2番目の要素)を含む配列で構成されますコードの最初の部分。

data: 
[ // Data is an array 
    [Date.parse("01/02/2017"),11], // Each point is an array too 
    [Date.parse("02/02/2017"),22], 
] 

だから、ときにこのように、それは同じフォーマットを持つ必要があり、chartArraysetData()行うに移入:

$('#btnUpdate').('click', function(){ 
    $.post('/Reporst/GetReportsJson/', data, function (dataR) { 
     var chartArray = []; //for chart value 
     for (var i in dataR) { 
      for (var ii in dataR[i].finalChart) { 
      var date = dataR[i].finalChart[ii].date1; 
      var value = parseInt(dataR[i].finalChart[ii].value); 
      chartArray.push([Date.parse(date), value]); // One array with [date, value] per point, as stated above 
      } 
     } 
     HighChart.series[i].setData(chartArray);  
     chartArray = []; 
    } 
}) 
+0

がどのようにラベル名を設定することができますか? –

+1

解決策を見つけました。 'HighChart.legend.allItems [0] .update({name:i});' –

+0

私はちょうどxD Gladを書いていました:-) –

関連する問題