2012-07-09 16 views
7

He estado trabajando en Highcharts acaba de meterse en un problema, el problema es cuando no existe ningún valor para algunos datos en el gráfico, entonces muestra 0 en él, lo que se ve mal amablemente checkout el siguiente jsfiddle las etiquetas en el gráfico se completan con la siguiente función, pero no puedo verificar que debe mostrar solo aquellas barras cuyos valores están por encima de cero en el gráficoEliminar cero de HIGHCHART

http://jsfiddle.net/CzHyC/3/ [Mire la sección MANZANA en la tabla]

$(function() { 
    var chart; 
    $(document).ready(function() { 
     chart = new Highcharts.Chart({ 
      chart: { 
       renderTo: 'container', 
       type: 'column' 
      }, 
      title: { 
       text: 'Stacked column chart' 
      }, 
      xAxis: { 
       categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas'] 
      }, 
      yAxis: { 
       min: 0, 
       title: { 
        text: 'Total fruit consumption' 
       }, 
       stackLabels: { 
        enabled: true, 
        style: { 
         fontWeight: 'bold', 
         color: (Highcharts.theme && Highcharts.theme.textColor) || 'blue' 
        } 
       } 
      }, 
      legend: { 
       align: 'right', 
       x: -100, 
       verticalAlign: 'top', 
       y: 20, 
       floating: true, 
       backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColorSolid) || 'gray', 
       borderColor: '#CCC', 
       borderWidth: 1, 
       shadow: false 
      }, 
      tooltip: { 
       formatter: function() { 
        return '<b>'+ this.x +'</b><br/>'+ 
         this.series.name +': '+ this.y +'<br/>'+ 
         'Total: '+ this.point.stackTotal; 
       } 
      }, 
      plotOptions: { 
       column: { 
        stacking: 'normal', 
        dataLabels: { 
         enabled: true, 
         color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white' 
        } 
       } 
      }, 
      series: [{ 
       name: 'John', 
       data: [0, 3, 4, 7, 2] 
      }, { 
       name: 'Jane', 
       data: [2, 2, 3, 2, 1] 
      }, { 
       name: 'Joe', 
       data: [3, 4, 4, 2, 5] 
      }] 
     }); 
    }); 

}); 

Respuesta

19

Esta es la forma en que he manejado esta situación.

Cuando está creando sus puntos de datos, en lugar de poner un 0, ponga un nulo.

Así, por ejemplo, la matriz de datos se verá así:

[null,3,4,7,2] en lugar de [0,3,4,7,2]

Fiddle

+0

buen truco, pero los datos están siendo poblada en mi carta de DB pero puede poner controles en ese –

+0

sí, tendrá que compilar sus datos en un formato específico antes de darle a los cuadros superiores. – c0deNinja

+0

Hubiera establecido el valor en nulo. Recuerde que -1 es un valor mientras que nulo no. – wergeld

Cuestiones relacionadas