Gráfico de columnas apiladas con porcentajes

A continuación se muestra un ejemplo de un gráfico de columnas apiladas con porcentajes.

Ya hemos visto la configuración utilizada para dibujar un gráfico en el capítulo Sintaxis de configuración de Highcharts . Veamos ahora configuraciones adicionales y también cómo hemos agregado el atributo de apilamiento en plotoptions.

A continuación se muestra un ejemplo de un gráfico de columnas apiladas con porcentajes.

plotOptions

PlotOptions es un objeto contenedor para objetos de configuración para cada tipo de serie. Los objetos de configuración para cada serie también se pueden anular para cada elemento de la serie como se indica en la matriz de la serie. Esto es para apilar los valores de cada serie uno encima del otro.

Configure el apilamiento del gráfico usando plotOptions.column.stacking como "porcentaje". Los valores posibles son nulos, lo que deshabilita el apilamiento, "normal" apila por valor y "porcentaje" apila el gráfico por porcentajes.

var plotOptions = {
   column: {
      stacking: 'percent'      
   }
};

Ejemplo

highcharts_column_percentage.htm

<html>
   <head>
      <title>Highcharts Tutorial</title>
      <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
      <script src = "https://code.highcharts.com/highcharts.js"></script>  
   </head>
   
   <body>
      <div id = "container" style = "width: 550px; height: 400px; margin: 0 auto"></div>
      <script language = "JavaScript">
         $(document).ready(function() {  
            var chart = {
               type: 'column'
            };
            var title = {
               text: 'Stacked column chart'   
            };    
            var xAxis = {
               categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
            };
            var yAxis = {
               min: 0,
               title: {
                  text: 'Total fruit consumption'
               }
            };  
            var tooltip = {
               pointFormat: '<span style = "color:{series.color}">{series.name}</span> : <b>{point.y}</b> ({point.percentage:.0f}%)<br/>',
               shared: true
            };
            var plotOptions = {
               column: {
                  stacking: 'percent'        
               }
            };
            var credits = {
               enabled: false
            };
            var series = [
               {
                  name: 'John',
                  data: [5, 3, 4, 7, 2]
               }, 
               {
                  name: 'Jane',
                  data: [2, 2, 3, 2, 1]
               }, 
               {
                  name: 'Joe',
                  data: [3, 4, 4, 2, 5]      
               }
            ];     
      
            var json = {};   
            json.chart = chart; 
            json.title = title;   
            json.xAxis = xAxis;
            json.yAxis = yAxis;   
            json.tooltip = tooltip;
            json.plotOptions = plotOptions;
            json.credits = credits;
            json.series = series;
            $('#container').highcharts(json);
         });
      </script>
   </body>
   
</html>

Resultado

Verifica el resultado.