Javascript 如何根据标签更改Chart.js点的颜色

Javascript 如何根据标签更改Chart.js点的颜色,javascript,charts,chart.js,linechart,Javascript,Charts,Chart.js,Linechart,我有一个line Chart.js图表,其中标签是一周中的几天。我想根据今天(星期一至星期日)的不同来更改点背景。我可以根据数据值更改背景颜色,但这不是我需要的。相反,我想给每一天(标签)一个不同的颜色点 例如,这就是如何根据数据值更改点(不是我需要的) 但当我尝试将此应用于标签时,我得到了一个错误: TypeError:无法读取pointBackgroundColor处未定义的属性“0” 您可以为pointBackgroundColor属性指定颜色数组: var ctx=document.

我有一个line Chart.js图表,其中标签是一周中的几天。我想根据今天(星期一至星期日)的不同来更改点背景。我可以根据数据值更改背景颜色,但这不是我需要的。相反,我想给每一天(标签)一个不同的颜色点

例如,这就是如何根据数据值更改点(不是我需要的)

但当我尝试将此应用于标签时,我得到了一个错误:

TypeError:无法读取pointBackgroundColor处未定义的属性“0”


您可以为pointBackgroundColor属性指定颜色数组:

var ctx=document.getElementById('lineChart').getContext('2d');
变量颜色=[“rgba(255,0,0,1)”,“rgba(0255,0,1)”,“rgba(0,0255,1)”,“rgba(255,0,0,1)”,“rgba(0255,0,1)”;
var colors1=Object.assign([],colors);
colors1.sort();
风险值数据={
标签:[
"1 ",
"2 ",
"3 ",
"4 ",
"5 ",
],
数据集:[{
标签:“第1行”,
strokeColor:“rgba(151187205,1)”,
点半径:5,
pointBackgroundColor:颜色,
填充:假,
数据:[
0.33771896,
0.903282737,
0.663260514,
0.841077343,
0.172840693,
],
}, {
标签:“平均”,
strokeColor:“rgba(245,15,15,0.5)”,
pointBackgroundColor:颜色1,
点半径:5,
填充:假,
数据:[0.70934844,
0.562981612,
0.496916323,
0.410302488,
0.55354621
]
}]
};
变量选项={
datasetFill:false,
}
var myChart=新图表(document.getElementById(“lineChart”){
键入:“行”,
数据,
选择权
})


您可以添加极简可执行文件吗code@Aishwarya基本上就是这个谢谢,这就成功了。我能够根据标签从服务器发送颜色数组。
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'
        }
    }]
},
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'
        }
    }]
},