In the doughnut chart defaults, the generateLabels function assumes that data.datasets[0].backgroundColor is always set, resulting in the classic Cannot read property '0' of undefined error
labels: {
generateLabels: function(data) {
if (data.labels.length && data.datasets.length) {
return data.labels.map(function(label, i) {
return {
text: label,
fillStyle: data.datasets[0].backgroundColor[i],
hidden: isNaN(data.datasets[0].data[i]),
// Extra data used for toggling the correct item
index: i
};
});
} else {
return [];
}
}
},