2014-09-10 96 views
2

即時通訊有問題的Chart.js。Chart.js替換所有數據

Firts,我設置了一個數據,然後當參數發生變化時,我想重新綁定整個圖表。 這項工作,但它與舊數據的圖表仍然落後於新數據。

第一 - >

chart.Line(data, options); 

在一個活動 - >

chart.Line(newdata, options); 

我看到這個解決方案 chart.js load totally new data

,但我不喜歡這樣。我在一個角度的指令上下文,所以這不是最好的方法。

我嘗試沒有結果

.update(),.removeData(),.clear(),.destroy()等

這裏的我現在的指令

http://plnkr.co/edit/qn2UUyznonKm6zgEi8FW?p=catalogue

任何想法?

回答

5

你正在創建一個新的圖表,這就是爲什麼你最終以新圖表背後的舊圖表。

,我用一個簡單的選擇: 取下帆布舊圖表您正在使用圖表:

$('#canvas').replaceWith('<canvas id="canvas"></canvas>'); 

現在在同一個帆布

創建新的數據圖表
var ctxChart = document.getElementById("canvas").getContext("2d"); 
window.myChart = new Chart(ctxChart).Line(newdata, options); 

希望它有幫助!

1

對於那些想用餅圖同樣的事情,並不像有一個可行的給定的公共方法,但你可以自己刪除的數據使用簡單的解決方法:

var pieChart = new Chart(ctx).Doughnut(undefined, pieChartOptions); 
pieChart.segments.splice(0, pieChart.segments.length); 

似乎工作好,希望他們只是添加一個刪除所有方法或明確實際工作。