mercredi 29 avril 2015

Simple loop through array to change a pie chart color?

My code, which uses the Google Charts API to generate three pie charts:

var allData = [{
        arr : [['Label', 'Value'], ['Car Sales Today', data.salesToday]],
        container : 'today-sales-chart',
        customTooltips: data.salesToday
    }
    ,{
        arr : [['Label', 'Value'], ['Car Sales Yesterday', data.salesYesterday]],
        container : 'yesterday-sales-chart',
        customTooltips: data.salesYesterday
    }
    ,{
        arr : [['Label', 'Value'], ['Car Sales Last Week', data.salesLastWeek]],
        container : 'lastweek-sales-chart',
        customTooltips: data.salesLastWeek
    }
];

var theColors = ['green', 'pink', 'blue'];

var options = {
    width: 'auto',
    height: 300,
    chartArea: { width: '50%', height: '80%' },
    yAxis: { textPosition: 'none' },
    legend: { position: "bottom" },
    tooltip: { isHtml: true },
    colors: theColors,
    pieSliceText: 'none'
}

var builds = [];
for (var index in allData) {
    builds.push({
        package: 'PieChart',
        data: allData[index].arr,
        customTooltips: [ allData[index].customTooltips ],
        container: allData[index].container,
        options: options
    });
}

for(var index in builds) {
    charts.push(builds[index]);
    google.setOnLoadCallback.drawCharts(builds[index].container);
}

}

I just want to have the color to be different for each of the charts. I understand that it is in the allData arrays' objects that this will happen. I have tried the following:

 var allData = [{
        arr : [['Label', 'Value'], ['Car Sales Today', data.salesToday]],
        container : 'today-sales-chart',
        customTooltips: data.salesToday,
        colors: ['green']
    }
    ,{

etc but no charts will display when this happens. 'objects : objects' is from the charts api.

Aucun commentaire:

Enregistrer un commentaire