我有一个使用Chart.js绘制的折线图,其中标签是一周中的每个工作日。我想根据日期更改点的背景颜色(星期一至星期日)。我能够根据数据值更改背景颜色,但这不是我需要的。相反,我希望给每天(标签)一个不同的颜色点。
例如,这就是我如何根据数据值更改点的方式(不是我需要的)。
chartData: {
labels: ['Monday', 'Tuesday', 'Wednesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
datasets: [{
data: [57, 569, 12, 78, 569, 0, 5],
fill: true,
pointRadius: 4,
pointBackgroundColor: function(context) {
var index = context.dataIndex
var value = context.dataset.data[index]
return value > 100 ? 'green' : 'red'
}
}]
},
但是当我尝试将其应用于标签时,出现了错误:
类型错误:在pointBackgroundColor中无法读取未定义的属性'0'
chartData: {
labels: ['Monday', 'Tuesday', 'Wednesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
datasets: [{
data: [57, 569, 12, 78, 569, 0, 5],
fill: true,
pointRadius: 4,
pointBackgroundColor: function(context) {
var index = context.dataIndex;
var value = context.labels[index];
if (value == 'Monday') return 'green'
if (value == 'Tuesday') return 'red'
if (value == 'Wednesday') return 'blue'
}
}]
},