javascript - Highcharts SetData 只能工作一次

标签 javascript jquery highcharts

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

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

http://jsfiddle.net/9ypsm98a/

编辑:

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

最佳答案

问题在于,在首次创建图表时,数组/对象是通过引用传递的。之后,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);
});

关于javascript - Highcharts SetData 只能工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39252270/

相关文章:

javascript - ng-repeat ="(key, value)"不能将 {{key}} 的值用作另一个指令的全局范围的一部分

javascript - 前端js框架可以用于非单页应用程序吗?

javascript - 创建使用 50 作为负值阈值的 0-50-100 百分位数面积线图

javascript - Highcharts 未在grails View 中呈现

javascript - 如何检查一个元素是否存在于 td 中

javascript - 使用纯 Javascript 加载外部 URL 内容

jquery - 如何使用 jQuery 动态添加超链接?

Jquery tokenInput - 无法读取未定义问题的属性

javascript - 每当我单击 AngularJS 中的按钮时验证空文本字段

javascript - 1秒显示100点 : Highcharts