2016-10-05 3 views
1

Я пишу код для гистограммы с использованием jqplot. Когда я запускаю нижеследующую функцию:Не получая разного цвета на столбиках гистограммы

Проблема: только один цвет отображается во всех трех данных (первый цвет) Как отображать разные цвета для тиков?

$(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); 
    } 
); 
}); 

Есть ли какие-либо решения?

ответ

1

Вам необходимо рассказать, как рисовать полосы в ваших цветах, используя опцию varyBarColor Renderer.

Добавьте его в свой seriesDefaults:

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

Вот working jsfiddle example с вашим кодом и дополнительных штриховых цветов.

+0

спасибо, что работает сейчас –

Смежные вопросы