Información sobre herramientas en varios gráficos en chart.js mostrando los valores incorrectos

Estoy usando el último Chart.bundle.js para crear múltiples gráficos de barras astackdas en la misma página. Por ejemplo, tengo 3 gráficos con 2 conjuntos de datos. Los gráficos son correctos, pero la información sobre herramientas de cada uno de los gráficos es siempre la misma y muestra valores incorrectos. enlace de captura de pantalla . Todos los valores son cero, lo que obviamente es incorrecto.

El modo de información sobre herramientas es índice, el canvas para cada gráfico tiene una identificación diferente, las variables del conjunto de datos son todas diferentes.

Al intentar publicar mi código en jsfiddle, pude encontrar la solución a este problema tan extraño. tuve

var barCharData = { labels: ["2", "3", "4"], datasets: [] }; 

, por lo que no hay datos en ninguno de mis gráficos al principio (antes de obtener datos de la base de datos). Para cada tabla que tengo hice algo como esto:

  for(var i=1; i <= number_of_charts; i++){ bar_char_data_array.push(barChartData); var myBar = new Chart(ctx, { type: 'bar', data: bar_char_data_array[i-1], options: { tooltips: { mode: 'label', intersect: true } } }); } 

Resultó que javascript considera que todos los elementos de la matriz "bar_char_data_array" son el mismo objeto y el cambio de datos para uno de los gráficos dio como resultado el cambio de datos para el rest. Todavía no sé por qué todos los gráficos eran correctos hasta que se movió para ver información sobre herramientas. Sin embargo, la solución para mi problema fue eliminar la variable barChartData.

  for(var i=1; i <= number_of_charts; i++){ bar_char_data_array.push({ labels: ["2", "3", "4"], datasets: [] }); var myBar = new Chart(ctx, { type: 'bar', data: bar_char_data_array[i-1], options: { tooltips: { mode: 'label', intersect: true } } }); } 

Mi solución fue algo similar a la respuesta de @ queen-juliet.

Tuve una variable de configuración compartida con la clave de datos que se agregó y actualizó dentro de un bucle. A pesar de que los múltiples objetos chart.js que tenía en la página mostraban los datos correctos, la información sobre herramientas se mostraba solo en un gráfico (aleatorio). La solución fue declarar y completar toda la configuración dentro de mi bucle.