Comment faire pour effacer un graphique à partir d'une toile de sorte que planent les événements ne peuvent pas être déclenchée?

Je suis en utilisant Chartjs pour afficher un Graphique en Ligne et cela fonctionne très bien:

//get line chart canvas
var targetCanvas = document.getElementById('chartCanvas').getContext('2d');

//draw line chart
var chart = new Chart(targetCanvas).Line(chartData);

Mais le problème survient lorsque j'essaie de modifier les données du Graphique. - Je mettre à jour le graphique par la création d'une nouvelle instance d'un Graphique avec les nouveaux points de données, et donc à la réinitialisation de la toile.

Cela fonctionne bien. Cependant, quand j'ai passez la souris sur la nouvelle carte, si j'arrive à aller sur des emplacements spécifiques correspondant à des points affichés sur l'ancien tableau, le hover/étiquette est toujours déclenchée et, soudain, le vieil graphique est visible. Il reste visible pendant que ma souris est à cet emplacement et disparaît lorsque déplacer ce point. Je ne veux pas que l'ancien tableau d'affichage. Je veux l'enlever complètement.

J'ai essayé d'effacer à la fois la toile et le graphique existant avant le chargement de la nouvelle. Comme:

targetCanvas.clearRect(0,0, targetCanvas.canvas.width, targetCanvas.canvas.height);

et

chart.clear();

Mais aucun d'entre eux ont travaillé jusqu'à présent. Des idées sur comment je peux empêcher cela?

  • Mec, c'est exactement le problème que je vais avoir. "Destroy()" méthode ne fonctionne pas et c'est de pisser me off.
  • Pourrais-je vous demander comment vous allez accéder à l'objet graphique? Je vais avoir le même problème, j'ai créer un graphique, puis sur la manipulation d'un clic sur un bouton j'ai besoin de le détruire, mais il est dans une tout autre fonction et je ne peux pas trouver un moyen d'accéder à l'objet graphique à travers la toile ou le contexte des objets.
  • Il y a un bug ouvert pour cette question, voir ici. github.com/jtblin/angular-chart.js/issues/187
  • Eu ce problème. Solution pour créer/recréer stackoverflow.com/a/51882403/1181367
InformationsquelleAutor Adam Jones | 2014-07-18