2016-11-22 11 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

私はキャンバスとチャートインスタンスのクリーニングに関して多くのことを試みましたが、もう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(); 
    } 

完了!

関連する問題