Ich verwende Chartjs, um ein Liniendiagramm anzuzeigen, und dies funktioniert einwandfrei:
// get line chart canvas
var targetCanvas = document.getElementById('chartCanvas').getContext('2d');
// draw line chart
var chart = new Chart(targetCanvas).Line(chartData);
Das Problem tritt jedoch auf, wenn ich versuche, die Daten für das Diagramm zu ändern. Ich aktualisiere das Diagramm, indem ich eine neue Instanz eines Diagramms mit den neuen Datenpunkten erstelle und so die Zeichenfläche neu initialisiere.
Das funktioniert gut. Wenn ich jedoch mit der Maus über das neue Diagramm schwebe und über bestimmte Positionen gehe, die den auf dem alten Diagramm angezeigten Punkten entsprechen, wird der Schwebeflug / die Beschriftung weiterhin ausgelöst und plötzlich ist das alte Diagramm sichtbar. Es bleibt sichtbar, während sich meine Maus an dieser Stelle befindet, und verschwindet, wenn Sie diesen Punkt verlassen. Ich möchte nicht, dass das alte Diagramm angezeigt wird. Ich möchte es komplett entfernen.
Ich habe versucht, sowohl die Leinwand als auch das vorhandene Diagramm zu löschen, bevor ich das neue lade. Mögen:
targetCanvas.clearRect(0,0, targetCanvas.canvas.width, targetCanvas.canvas.height);
und
chart.clear();
Aber keines davon hat bisher funktioniert. Irgendwelche Ideen, wie ich das verhindern kann?