Javascript Chart.js重复颜色?
我使用的是Chart.js,它是通过MySQL数据库中的数据传播的,而MySQL数据库将不断增长。这是我的密码:Javascript Chart.js重复颜色?,javascript,chart.js,chartjs-2.6.0,Javascript,Chart.js,Chartjs 2.6.0,我使用的是Chart.js,它是通过MySQL数据库中的数据传播的,而MySQL数据库将不断增长。这是我的密码: function getPromoChartData() { var city = document.getElementById("cityselect").value; $.ajax({ type: 'GET', url: 'getpromochart.php', dataType: 'json', data
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个实体填满后,剩下的部分将是灰色的,这太糟糕了。我只想重复那个配色方案。如何实现这一点?首先,您可以定义一个
颜色的数组。一旦知道数据的大小
,就可以按如下方式确定背景颜色:
var colors = ['red', 'orange', 'yellow', 'green', 'blue'];
...
var bgColors = [];
for (var i = 0; i < data.length; i++) {
bgColors.push(colors[i % colors.length]);
}
var colors=[‘红色’、‘橙色’、‘黄色’、‘绿色’、‘蓝色’];
...
var bgColors=[];
对于(变量i=0;i
这是一个简化的示例:
极区图
帆布{
-moz用户选择:无;
-webkit用户选择:无;
-ms用户选择:无;
}
var colors=[“红色”、“橙色”、“黄色”、“绿色”、“蓝色”];
var数据=[4,5,4,2,8,7,6,8,5,4,1,3,7];
window.onload=函数(){
var bgColors=[];
对于(变量i=0;i