Search code examples
javascriptjqueryjqplot

Not getting the different color on bar chart pillars


I am writing the code for bar chart using jqplot. When i run the below function :

problem: Only one color is displayed in all three data(the first color) how do display different color for ticks?

$(document).ready(function(){
$.jqplot.config.enablePlugins = true;


var d1=${likes[0]};
var d2=${comonelikes[0]};
var d3=${comtwolikes[0]};

var a=[d1,d2,d3];

var ticks = [${myorg},${compOne},${compTwo}];

plot1 = $.jqplot('chart1',[a], {
    // Only animate if we're not using excanvas (not in IE 7 or IE 8)..

    animate: !$.jqplot.use_excanvas,

    seriesDefaults:{
        renderer:$.jqplot.BarRenderer,
        pointLabels: { show: true },

    },
    seriesColors :[
                   '#57c1b4','#bd66a9',
                   '#abb3b6'
                  ],
   axes: {
        xaxis: {
            renderer: $.jqplot.CategoryAxisRenderer,
            ticks:ticks,

                tickOptions: {  mark: null,
                                fontSize: 0
                             }
        },
         yaxis: {
                                min:0,
                                max:3000000,
             tickOptions: {formatString: '%d'},
            numberticks:6
                            }
    }, 

    highlighter: { show: true }
});

$('#chart1').bind('jqplotDataClick', 
    function (ev, seriesIndex, pointIndex, data) {
        $('#info1').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data);
    }
);
}); 

Is there any solution to this?


Solution

  • You need to tell the plot to paint the bars in your colors, using the varyBarColor Renderer Option.

    Add it to your seriesDefaults:

    seriesDefaults:{
        renderer:$.jqplot.BarRenderer,
        pointLabels: { show: true },
        rendererOptions: {
           // Set varyBarColor to true to use the custom colors on the bars.
             varyBarColor: true
        }
    },
    

    Here is a working jsfiddle example with your code and the additional bar colors.