在将散点图与chart.js一起使用之前尝试创建数据时,背景色不起作用
我正在创建我的数据集,如下所示:在将散点图与chart.js一起使用之前尝试创建数据时,背景色不起作用,chart.js,scatter,Chart.js,Scatter,我正在创建我的数据集,如下所示: /* Create and add data from excel file to our datasets */ var marksData = { labels: marqueurs, datasets: [] }; var colors = ['#ef335a','#ec83aa','#9eae3c','#a75a94','#d9acce','#2a345e']; var d
/* Create and add data from excel file to our datasets */
var marksData = {
labels: marqueurs,
datasets: []
};
var colors = ['#ef335a','#ec83aa','#9eae3c','#a75a94','#d9acce','#2a345e'];
var domaines = [' GROUP1','GROUP2','GROUP3','GROUP4','GROUP5'];
for (i = 0; i < 6; i++){
marksData.datasets[i] = [];
marksData.datasets[i].label = domaines[i];
marksData.datasets[i].data = [{}];
marksData.datasets[i].backgroundColor = colors[i];
}
for (i = 0; i < json1.length; i++) {
var indexDomaine = domaines.indexOf(json1[i].Domaine);
var res = parseInt(json1[i].Resilience * 100);
var freq = parseInt(json1[i].Frequence * 100);
var lengthData = marksData.datasets[indexDomaine].data.length;
marksData.datasets[indexDomaine].data[lengthData] = {};
marksData.datasets[indexDomaine].data[lengthData].x = res;
marksData.datasets[indexDomaine].data[lengthData].y = freq;
marksData.datasets[indexDomaine].pointRadius = 10;
marksData.datasets[indexDomaine].pointHoverRadius = 15;
marksData.datasets[indexDomaine].showLine = "false";
marksData.datasets[indexDomaine].fill = "true";
}
var scatterChart = new Chart(ctx, {
type: 'scatter',
data: marksData,
options: {
responsive: true,
scales: {
xAxes: [
{
type: 'linear',
ticks: {
min: 50,
max: 100,
}
}
],
yAxes: [
{
type: 'linear',
ticks: {
min: 0,
max: 100,
}
}
]
},
legend: {
display:true,
position:'bottom',
},
title: {
display: true,
text: 'My title'
},
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var label = data.labels[tooltipItem.datasetIndex];
return label;
}
}
}
}
});
但是,我在图表中的点和组标签(组1、组2..)不是彩色的。
虽然我检查了控制台,里面有背景色。。。
我如何解决这个问题?
谢谢你的帮助
Sophie我创建了一个复制程序来复制您试图做的事情。我可以看到,在对代码做了一个小改动后,颜色呈现得很好:
我必须设置marksData.datasets[I]={}
而不是marksData.datasets[I]=[]
for (i = 0; i < 6; i++){
marksData.datasets[i] = {};
marksData.datasets[i].label = domaines[i];
marksData.datasets[i].data = [{}];
marksData.datasets[i].backgroundColor = colors[i];
}
(i=0;i<6;i++)的{
数据集[i]={};
marksData.datasets[i].label=domaines[i];
marksData.datasets[i].data=[{}];
marksData.datasets[i].backgroundColor=colors[i];
}
编辑:问题是您将dataset设置为数组,而它应该是一个对象