2017-04-17 44 views
1

我有兩個數組,我想用自定義按鈕在Highcharts中顯示:Day和Week。如何設置新數據,然後在Highcharts中反轉原始數據?

重置圖表並顯示原始數據我需要一個重置按鈕,但我的問題是它無法呈現此特定數組(original_data)。

什麼可能是這個問題的原因,我該如何解決它?

謝謝

JSFiddle

original_data = [1, 2, 3, 4, 5]; 
new_data1 = [6, 7, 6, 7, 6]; 
new_data2 = [15, 14, 13, 12, 11]; 

var mychart = Highcharts.chart('container', { 
    series: [{ 
      name: 'Total', 
      data: original_data, 
      type: 'area' 
     } 
     ], 
    exporting: { 
      buttons: { 
       first_Button: { 
        text: 'Day', 
        onclick: function() { 
         mychart.series[0].setData(new_data1); 
        } 
       }, 
       second_Button: { 
        text: 'Week', 
        onclick: function() { 
         mychart.series[0].setData(new_data2); 
        } 
       }, 
       third_Button: { 
        text: 'Reset', 
        onclick: function() { 
         mychart.series[0].setData(original_data); 
        } 
       } 
      } 
     } 
}); 

回答

1

您在配置對象傳遞original_data。現在,每次撥打setData(new_data)時,您都會覆蓋original_data,因爲它可以作爲參考。

所以,當你點擊「周」的背景按鈕,它看起來像:

original_data = new_data2;

的解決方案是通過的original_data克隆的配置對象。 例如:JSFiddle

+0

謝謝,我並不期待'setData()'重寫了原始數組。完美的作品! – Florent

相關問題