Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

297
Visualizações
Destruya el gráfico de barras chart.js para volver a dibujar otro gráfico

Estoy usando la biblioteca Chart.js para dibujar un gráfico de barras, pero quiero destruir el gráfico de barras y crear un nuevo gráfico en el mismo lienzo. He intentado de esta manera limpiar el lienzo:

 var chart = new Chart( ctx, { type : "bar", data : data1, options : options }); $("#btn1").on("click", function() { if (chart) chart.destroy(); var chart = new Chart( ctx, { type : "bar", data : data1, options : options }); });

¿Lo estoy llamando bien? En ButtonClick llamo a esta función que usa el mismo lienzo.

 <canvas id="graph" width="700px" height="300px"></canvas> var ctx = $("#graph");

EDITAR:

Cambio el código pero solo funciona la primera vez que hago clic en el botón, cuando cambio por segunda vez, no volverá a funcionar.

Lo más complicado es que para trabajar necesito cambiar el nombre de los 2 gráficos

 var ctx = document.getElementById('graph'); var myChart = new Chart( ctx, { type : "bar", data : data1, options : options }); $("#btn2").on("click", function() { if (myChart) myChart.destroy(); var ctx = document.getElementById('graph'); var chart = new Chart( ctx, { type : "bar", data : data2, options : options }); });
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Gracias a todos por la ayuda pero ya lo conseguí, y para futuras dudas, pondré mi solución aquí para las personas que necesiten

 var ctx = document.getElementById('graph').getContext('2d'); var myBarChart = new Chart( ctx, { type : "bar", data : data1, options : options }); $("#btn1").on("click", function() { var context1 = document.getElementById('graph').getContext('2d'); if (myBarChart) myBarChart.destroy(); myBarChart = new Chart( context1, { type : "bar", data : data1, options : options }); }); $("#btn2").on("click", function() { var context2 = document.getElementById('graph').getContext('2d'); if (myBarChart) myBarChart.destroy(); myBarChart = new Chart( context2, { type : "bar", data : data2, options : options }); });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda