I'm getting a TypeError: Cannot read property 'legend' of undefined
when trying to display example data for a chartjs chart in angular.
I've tried using different examples or chart types, but it keeps throwing this error.
HTML:
<div class="chartwrapper">
<canvas baseChart class="chart"
[datasets]="arbarChartData"
[labels]="arbarChartLabels"
[options]="arbarChartOptions"
[legend]="arbarChartLegend"
[chartType]="arbarChartType">
</canvas>
</div>
TS:
public arbarChartLabels: Label[] = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
public arbarChartType = 'bar';
public arbarChartLegend = true;
public arbarChartData: ChartDataSets[] = [
{data: [65, 59, 80, 81, 56, 55, 40], label: 'Series A'},
{data: [28, 48, 40, 19, 86, 27, 90], label: 'Series B'}
];
Remove [legend]="arbarChartLegend"
from your html.
In TS, arbarChartOptions: any = { legend: { display: true, labels: { fontColor: 'black' } }
For me it was enough to initialise empty arbarChartOptions
like:
public arbarChartLabels: Label[] = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
public arbarChartType = 'bar';
public arbarChartLegend = true;
public arbarChartData: ChartDataSets[] = [
{data: [65, 59, 80, 81, 56, 55, 40], label: 'Series A'},
{data: [28, 48, 40, 19, 86, 27, 90], label: 'Series B'}
];
public arbarChartOptions: ChartOptions = {}
to solve the error
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With