我想在Highcharts中使用自定义按钮显示两个数组:Day和Week。
要重置图表并显示原始数据,我需要一个重置按钮,但我的问题是它无法呈现此特定数组(original_data
)。
这个问题可能是什么原因,我该如何解决?
谢谢,
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);
}
}
}
}
});
答案 0 :(得分:1)
您在配置对象中传递了original_data
。现在,每次拨打setData(new_data)
时,都会覆盖original_data
,因为它可以作为参考。
所以当你点击“周”时按钮在后台看起来像:
original_data = new_data2;
解决方案是在配置对象中传递original_data
的克隆。
示例:JSFiddle