首页 > 解决方案 > 更新图表时不更新颜色

问题描述

由于版本 2.9.0+ 更新图表时颜色不会更新。直到 2.8.0 版本才有效。如何处理 2.9.0+ 版本的更新?

这就是我尝试更新图表的方式。chart = 图表 d = 我的 get 请求中的数据

function addBarData(chart, d) {
  var data = [];
  data.backgroundColor = [
    color(window.chartColors.red).alpha(0.5).rgbString(),
    color(window.chartColors.blue).alpha(0.5).rgbString(),
    color(window.chartColors.green).alpha(0.5).rgbString()
  ];
  data.borderColor = [
    window.chartColors.red,
    window.chartColors.blue,
    window.chartColors.green
  ];
  data.borderWidth = 1;
  data.data = d.values;
  data.label = d.label;
  chart.data.datasets.push(data);
  chart.update();
}

我的完整代码: https ://jsfiddle.net/wge1bj80/

标签: javascriptchart.js

解决方案


在您的代码中,data实际上是一个dataset并且必须定义为对象而不是数组。这个问题可以通过修改var data = [];来解决var data = {};

function addBarData(chart, d) {
  var data = {};
  ...
}

function addPieData(chart, d) {
  var data = {};
  ...
}

请查看您修改后的JSFiddle


推荐阅读