2016-11-22 28 views
0

問題出在這裏:我正在使用外部數據(用戶使用數據集信息上載的.txt文件)繪製圖表。但是,如果用戶錯誤地上傳錯誤的文件,他應該能夠上傳另一個文件,從而重新繪製圖表。Chartjs 2.x - 重繪圖表時數據集顏色發生變化

下面是用圖表呈現發生什麼事,當我上傳多個文件,一個接一個:他們是什麼樣子

例子: http://imgur.com/a/NDRgS

每次重新繪製圖表,背景顏色變暗。每當用戶上傳文件我做到以下幾點:

  1. 做一個chart.destroy()chart.clear()
  2. 取下舊帆布和使用新的圖表

一個新這是一個已知的問題?任何人有任何線索可能會發生什麼?

+0

http://stackoverflow.com/questions/24815851/how-to-clear-a-chart-from-a-canvas-so-that-hover-events-cannot-be-triggered 這裏是有人得到問題我想也許和你一樣, 他只是刪除畫布,並更換一個新的 – Anami

回答

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(); 
    } 

完成!