Highcharts SetData仅适用一次

时间:2016-08-31 14:24:15

标签: javascript jquery highcharts

我正在使用按钮使用High Charts功能更改series[0].setData()图表上的系列。它确实会更改数据并更新图表,但是当我尝试使用第二个按钮重置我的后台数据时,似乎什么都没发生。为什么Series只能更新一次?

  $('#button').click(function() {
      chart.series[0].setData(mydata1);
  });

http://jsfiddle.net/9ypsm98a/

编辑:

仍在寻找答案,但一个简单的解决方法是先让按钮使用chart.destroy();,然后重新创建一个全新的图表。

1 个答案:

答案 0 :(得分:2)

问题是在首次创建图表时,数组/对象是通过引用传递的。之后,High Charts似乎只更新现有对象,覆盖原件。尝试以下jsfiddle。我首先使用空对象创建图表。然后按钮按预期工作。

http://jsfiddle.net/308zr285/

var emptyData = [{},{},{}];

$(document).ready(function() {
  chart = new Highcharts.Chart({
    chart: {
      renderTo: 'container',
      backgroundColor: null,
      type: 'treemap'
    },
    series: [{
      type: "treemap",
      layoutAlgorithm: 'squarified',
      alternateStartingDirection: true
    }],
    title: {
      text: 'Fruit consumption'
    }
  });
  chart.series[0].setData(emptyData);
});