如何在Highcharts中设置新数据然后反转原始数据?

时间:2017-04-17 15:28:54

标签: javascript highcharts

我想在Highcharts中使用自定义按钮显示两个数组:Day和Week。

要重置图表并显示原始数据,我需要一个重置按钮,但我的问题是它无法呈现此特定数组(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 个答案:

答案 0 :(得分:1)

您在配置对象中传递了original_data。现在,每次拨打setData(new_data)时,都会覆盖original_data,因为它可以作为参考。

所以当你点击“周”时按钮在后台看起来像:

original_data = new_data2;

解决方案是在配置对象中传递original_data的克隆。 示例:JSFiddle