Tenho dois gráficos. Um gera certo e o outro com erro.
Entendo que a geração estão idênticos.
gráfico sem erro
private valorUltimosDozeMeses(idUsuarioPrestador: number): void { this.linhaChartValoresSomatorio = []; this.linhaChartLabelsSomatorio = []; this.dashboardService.valorUltimosDozeMeses(idUsuarioPrestador).subscribe( valoresPorMes => { const valores: number[] = []; valoresPorMes.forEach(valorPorMes => { valores.push(Number(valorPorMes.valor)); this.linhaChartLabelsSomatorio.push(String(valorPorMes.mesAno?.key) + '/' + String(valorPorMes.mesAno?.descricao)); }); this.linhaChartValoresSomatorio.push({ data: valores, label: 'Soma de valores por mês' }); } ); }
gráfico com erro
private quantidadeUltimosDozeMeses(idUsuarioPrestador: number): void { this.linhaChartValoresQuantidade = []; this.linhaChartLabelsQuantidade = []; this.dashboardService.quantidadeUltimosDozeMeses(idUsuarioPrestador).subscribe( quantidadesPorMes => { const quantidades: number[] = []; quantidadesPorMes.forEach(quantidadePorMes => { quantidades.push(Number(quantidadePorMes.quantidade)); this.linhaChartLabelsQuantidade.push(String(quantidadePorMes.mesAno?.key) + '/' + String(quantidadePorMes.mesAno?.descricao)); }); this.linhaChartValoresQuantidade.push({ data: quantidades, label: 'Quantidade por mês' }); } ); } }
Erro no console
ERROR TypeError: Cannot set property 'data' of undefined at BaseChartDirective.propagateDataToDatasets (ng2-charts.js?2cf6:802) at BaseChartDirective.ngDoCheck (ng2-charts.js?2cf6:322) at callHook (core.js?7d7a:3941) at callHooks (core.js?7d7a:3901) at executeInitAndCheckHooks (core.js?7d7a:3842) at refreshView (core.js?7d7a:11795) at refreshDynamicEmbeddedViews (core.js?7d7a:13142) at refreshView (core.js?7d7a:11800) at refreshComponent (core.js?7d7a:13217) at refreshChildComponents (core.js?7d7a:11508)
O que pode ser ?