Chartjs 2.x - 重绘图表时数据集颜色的变化

时间:2016-11-22 13:12:16

标签: javascript angularjs html5-canvas chart.js

问题在于:我正在使用外部数据绘制图表(用户使用数据集信息上传的.txt文件)。但如果用户错误地上传了错误的文件,他应该能够上传另一个文件,从而重新绘制图表。

以下是我上传多个文件后图表呈现的情况:

它们的样子示例: http://imgur.com/a/NDRgS

每次再次绘制图表时,背景颜色会变暗。每次用户上传文件时,我都会执行以下操作:

  1. 执行chart.destroy()chart.clear()
  2. 删除用过的画布并为新图表使用新画布
  3. 这是一个已知问题吗?任何人都知道可能发生的事情?

1 个答案:

答案 0 :(得分:1)

我尝试了很多关于清理画布和图表实例的事情,但最终采取了另一种方法(可能还有更好的方法)。我没有删除图表(及其画布)并创建新图表,而是更新了图表的数据(替换了新数据集)。

for(var i = 0; i < $scope.chartsList.length; i++) {
  var chart          = $scope.chartsList[i];
  var firstDataSet   = $scope.formattedData[i];
  var secondDataSet  = $scope.formattedData[i + 15];                

  for(var j = 0; j < 51; j++) {
    chart.config.data.datasets[0].data = firstDataSet;
    chart.config.data.datasets[1].data = secondDataSet;

    chart.update();
  }

完成!