2010-11-10 7 views
11

Estoy tratando de establecer los colores de mis barras de gráfico de barras jqplot. Siempre habrá seis barras presentes, agrupadas en grupos de 2 barras. Aquí es un ejemplo de los datos que están siendo trazada:¿Cómo configuro los colores del gráfico de barras jqplot por barra?

line1 = [6000, 5000, 5500]; 
line2 = [16000, 10000, 14000]; 

he empleado los siguientes hasta el momento:

seriesColors: ["#F3CBBF", "#BFDDE5", "#CF3501", "#027997", "#CF3501", "#027997"], 

Pero jqplot alterna entre las 2 primeras barras cada vez en lugar de utilizar toda la declarada colores. Probablemente esto es así porque solo determina la presencia de 2 series, una por conjunto de datos.

¿Hay alguna manera de establecer explícitamente los colores de la barra?

Respuesta

28

Lo hago usando varyBarColor method para que pueda enumerar los diferentes colores de las barras en una matriz simple como ya lo hizo, pero si solo hay una serie, utilizará estos colores para cada barra. Aquí está un ejemplo de mi código:

plot1 = $.jqplot('chart1', [s1], { 
     title: 'Example Income Graph', 
     seriesDefaults:{ 
      renderer:$.jqplot.BarRenderer, 
      rendererOptions:{ varyBarColor : true }, 
      pointLabels: { show : true } 
     }, 
     axes: { 
      xaxis: { 
       renderer: $.jqplot.CategoryAxisRenderer, 
       label:'Net Growth (%)', 
       ticks: ticks 
      }, 
      yaxis:{ 
       label:'Income (£)', 
       tickOptions:{ formatString:'%d'}, 
       autoscale:true, 
       min:0, 
       max:10000 
      } 
     }, 
     seriesColors: [ "#eee", "#ccc", "#999"], 
     highlighter: { show: false } 
    }); 

En este gráfico que tenía una serie con 3 bares y son cada uno un color gris diferente.

+3

esta respuesta realmente no explica cómo lograr lo que pidió el TO. Su pregunta era sobre series múltiples y especificando manualmente los colores de cada barra – beercan

+0

Gracias por la respuesta –

3

Esto es bastante viejo, pero todavía no tiene la respuesta correcta, y me tomó un tiempo darme cuenta, así que aquí va.

se necesitan dos cosas: Ajuste el varyBarColor y una matriz serie que contiene los colores de la serie para cada serie, pasó al mismo nivel que seriesDefaults, tales como:

plot1 = $.jqplot('chart1', [s1, s2], { 
      title: 'Example', 
      seriesDefaults:{ 
       renderer:$.jqplot.BarRenderer, 
       rendererOptions:{ varyBarColor : true }, 
       pointLabels: { show : true } 
      }, 
      series: [{seriesColors: ["#F3CBBF", "#BFDDE5", "#CF3501"]}, 
        {seriesColors: ["#027997", "#CF3501", "#027997"]}] 
      } 
-1

tratan como esto

series:[{renderer:$.jqplot.BarRenderer , seriesColors: ["#F3CBBF", "#BFDDE5", #CF3501","#eee", "#ccc", "#999"] }] 
Cuestiones relacionadas