Javascript 同一数据集的数据don';在chartjs中没有相同的颜色

Javascript 同一数据集的数据don';在chartjs中没有相同的颜色,javascript,chart.js,bar-chart,Javascript,Chart.js,Bar Chart,在上面的图片中,你可以看到我有一个数据集和两个不同的东西,我想看到相同的数据集 var选项=[]; 函数geselecteerdeOpties(){ 期权=[]; 对于(var i=0;i这是因为您正在呼叫 getRandomColor() 尝试将nieuweDataSet函数更改为: function nieuweDataSet(naam){ var newDataset = { label: naam, borderWidth: 1, data: [] }

在上面的图片中,你可以看到我有一个数据集和两个不同的东西,我想看到相同的数据集

var选项=[];
函数geselecteerdeOpties(){
期权=[];

对于(var i=0;i这是因为您正在呼叫

getRandomColor()
尝试将
nieuweDataSet
函数更改为:

function nieuweDataSet(naam){
  var newDataset = {
    label: naam,
    borderWidth: 1,
    data: []
  };
  barChartData.datasets.push(newDataset);
  theChart.update();
}

多亏了mhz,我发现了我的错误。他将我的注意力转向了颜色,而不是我添加数据的方式。问题是我将颜色设置为数组而不是字符串,这可能意味着它要在数组中选择下一种颜色,该颜色为空,因此默认为灰色。我通过从原始代码段中删除“[]”来修复它

函数nieuweDataSet(naam){
var kleur=getRandomColor();
var newDataset={
标签:naam,
背景颜色:kleur,
颜色:kleur,
边框宽度:1,
数据:[]
};
barChartData.datasets.push(newDataset);
theChart.update();

}
哦,是的,我弹出了所有数据和数据集,因为我发现.destroy()并没有真正从图表中删除数据,这意味着如果我调用getChartdata函数,它将复制数据集和数据,请告诉我答案是否有效-如果有效,请将其标记为已回答如果我删除randomColor()然后数据集将没有颜色,默认为灰色。这不是我需要的。我目前正在重写代码,看看这是否有帮助。我确实添加了一个静态颜色,这似乎可以解决它。然后我注意到,我输入的静态颜色是字符串,但在使用随机颜色时,我将其作为数组,所以我认为它只是减弱了d转到数组中的下一种颜色,该颜色为空,因此默认为灰色。