Tengo un gráfico de barras usando chart.js
que se crea en init createChart()
obtiene datos predeterminados por esta propiedad linchartData = [1, 2, 3];
Quiero cambiar con frecuencia los datos escuchando un servicio y cambiar los datos entrantes
getLatest$ = this.globalStateService.getLatestTwo();
getData() { this.getLatest$.subscribe(val =>{ this.linchartData = []; for (let i of val) { this.linchartData.push(i); console.log(this.linchartData) } }) } los datos se modifican pero el gráfico no muestra el cambio de datos
todavía muestra los valores iniciales [1, 2, 3]
¿Cómo puedo decirle a angular que linchartData ha cambiado?
createChart() { Chart.register(...registerables); const myChart = new Chart('myChart', { type: 'bar', data: { labels: ['Red', 'Blue', 'Yellow', 'Green',], datasets: [ { label: '# of Votes', data: this.linchartData, backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)', 'rgba(75, 192, 192, 0.2)', 'rgba(153, 102, 255, 0.2)', 'rgba(255, 159, 64, 0.2)', ], borderColor: [ 'rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)', ], borderWidth: 1, }, ], }, options: { scales: { y: { beginAtZero: true, }, }, }, }); } }