Javascript 如何将每种颜色应用于每个数据集

Javascript 如何将每种颜色应用于每个数据集,javascript,charts,chart.js,Javascript,Charts,Chart.js,若数据集不是动态的,或者是静态的,我们可以根据自己的意愿在chart.js库中应用单独的颜色 var sub1= { label: 'sub1', data: sub1-data, backgroundColor: '#3498db' }; var girlsData = { label: 'sub2', data: sub2-data, backgroundColor: '#16a085' }; 但数据集是从ajax以JSON格式生成的 无论有

若数据集不是动态的,或者是静态的,我们可以根据自己的意愿在chart.js库中应用单独的颜色

var sub1= {
    label: 'sub1',
    data: sub1-data,
    backgroundColor: '#3498db'
};
var girlsData = {
    label: 'sub2',
    data: sub2-data,
    backgroundColor: '#16a085'
};
但数据集是从ajax以
JSON
格式生成的

无论有多少数据集,如何将每个颜色分配给每个标签?所以我在定义变量时应用了背景色。它显示在图表中,但不显示标签名称

backgroundColor: ['red', 'blue', 'green', 'yellow', 'cyan'],

它只考虑了每个主题的一种颜色。它必须根据图表的格式来区分每个科目,不是吗?如何将每个主题颜色指定给标签,如图所示

var data=[{“0”:“Nepali”,“1”:“4”,“sub”:“Nepali”,“gpa”:“4”},{“0”:“英语”,“1”:“3”,“sub”:“英语”,“gpa”:“3”},{“0”:“数学”,“1”:“3”,“sub”:“数学”,“gpa”:“3”},{“0”:“科学”,“gpa”:“2”},{“0”:“社会研究”,“1”:“5”,“sub
window.onload=function(){
var sub=[];
var gpa=[];
用于(数据中的var i){
sub.push(数据[i].sub);
push(数据[i].gpa);
}
var densityCanvas=document.getElementById('student');
变量子数据={
标签:sub,
数据:gpa,
背景颜色:[“红色”、“蓝色”、“绿色”、“黄色”、“青色”],
};
var planetData={
标签:sub,
数据集:[子数据]
};
var图表选项={
标题:{
显示:对,
文本:“GPA标记数字”
},
比例:{
雅克斯:[{
滴答声:{
固定步长:1,
贝吉纳泽罗:是的
}
}],
},
};
var条形图=新图表(densityCanvas{
类型:'bar',
数据:planetData,
选项:图表选项
});
}

不要只设置一个数据集,而是为每个不同的数据(尼泊尔语,…)使用一个数据集,此实现的缺点是会丢失x标签

var data=[{“0”:“Nepali”,“1”:“4”,“sub”:“Nepali”,“gpa”:“4”},{“0”:“英语”,“1”:“3”,“sub”:“英语”,“gpa”:“3”},{“0”:“数学”,“1”:“3”,“sub”:“数学”,“gpa”:“3”},{“0”:“科学”,“gpa”:“2”},{“0”:“社会研究”,“1”:“5”,“sub
window.onload=函数(){
var子数据=[];
var colors=[“红色”、“蓝色”、“绿色”、“黄色”、“青色”];
用于(数据中的var i){
subData.push({
标签:数据[i].sub,
背景颜色:颜色[i],
数据:[数据[i].gpa]
});
}
var densityCanvas=document.getElementById('student');
var planetData={
标签:[''],
数据集:子数据
};
var图表选项={
标题:{
显示:对,
文本:“GPA标记数字”
},
比例:{
雅克斯:[{
滴答声:{
固定步长:1,
贝吉纳泽罗:是的
}
}],
},
};
var条形图=新图表(densityCanvas{
类型:'bar',
数据:planetData,
选项:图表选项
});
}