我有一个这样的饼图:
this.canvas = document.getElementById('chart');
this.ctx = this.canvas.getContext('2d');
const myChart = new Chart(this.ctx, {
type: 'pie',
data: {
labels: names,
datasets: [{
label: '# of dogs',
data: data,
backgroundColor: color???,
borderWidth: 1
}]
},
options: {
responsive: false,
display: true
}
});
数据不是固定数据。它是一个数组,可以包含不同的数据。如何使每个饼图具有不同的颜色?
谢谢!
答案 0 :(得分:0)
生成随机颜色
function getRandomColor() {
var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++ ) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
this.canvas = document.getElementById('chart');
this.ctx = this.canvas.getContext('2d');
const myChart = new Chart(this.ctx, {
type: 'pie',
data: {
labels: names,
datasets: [{
label: '# of dogs',
data: data,
backgroundColor: getRandomColor(),
borderWidth: 1
}]
},
options: {
responsive: false,
display: true
}
});
答案 1 :(得分:0)
这是我的建议: 步骤1
colors=[];
第2步
for(let i=0;i<this.data.length;i++){
this.colors.push('#'+Math.floor(Math.random()*16777215).toString(16));
}
第3步
data: data,
backgroundColor: this.colors
.....