我正在使用Chart.js,它与将一直增长的MySQL数据库中的数据一起传播。这是我的代码:
function getPromochartData() {
var city = document.getElementById("cityselect").value;
$.ajax({
type: 'GET',url: 'getpromochart.php',dataType: 'json',data: { city:city,},success: function(response) {
//console.log (response);
function collate(d) {
return d.reduce(function(prev,cur,index) {
var ret = {};
for (var prop in cur) {
if (index === 0) {
ret[prop] = [];
} else {
ret[prop] = prev[prop];
}
ret[prop].push(cur[prop]);
}
return ret;
},{});
}
var reduced = collate(response);
var ctx = document.getElementById('promochart').getcontext('2d');
var chartColors = window.chartColors;
var color = Chart.helpers.color;
var promochart = new Chart(ctx,{
type: 'polarArea',data: {
labels: reduced.codes,datasets: [{
label: 'Promo Codes',data: reduced.count,backgroundColor: [
color(chartColors.red).alpha(0.5).rgbString(),color(chartColors.orange).alpha(0.5).rgbString(),color(chartColors.yellow).alpha(0.5).rgbString(),color(chartColors.green).alpha(0.5).rgbString(),color(chartColors.blue).alpha(0.5).rgbString(),],}]
},options: {
responsive: true,}
});
promochart.update();
$('#promocharttitle').html("Promo Data ("+cityfancy+")");
}
});
}
我现在所拥有的方式,在前5个全部填充满之后,其余的将变成灰色,这完全糟透了。我只想重复这种配色方案。我该如何实现?