百分比面积(Percentage area)

优质
小牛编辑
133浏览
2023-12-01

我们已经在Highcharts Configuration Syntax一章中看到了用于绘制图表的配置 。 以下是百分比面积图的示例。

让我们在这里了解其他配置。 我们在plotoptions中添加了stacking属性。

plotOptions

plotOptions是每个系列类型的配置对象的包装器对象。 还可以为系列数组中给出的每个系列项覆盖每个系列的配置对象。 这是为了将每个系列的值叠加在一起。

使用plotOptions.area.stacking将图表plotOptions.area.stacking为“百分比”。 可能的值为null,禁用堆叠,“正常”堆栈按值,“百分比”按百分比堆叠图表。

var plotOptions = {
   area: {
      stacking: 'percent',
      lineColor: '#666666',
      lineWidth: 1,
      marker: {
         lineWidth: 1,
         lineColor: '#666666'
      }
   }
};

例子 (Example)

highcharts_area_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: 'area'
            };
            var title = {
               text: 'Historic and Estimated Worldwide Population Growth by Region'   
            }; 
            var subtitle = {
               text: 'Source: Wikipedia.org'
            };
            var xAxis = {
               categories: ['1750', '1800', '1850', '1900', '1950', '1999', '2050'],
               tickmarkPlacement: 'on',
               title: {
                  enabled: false
               }
            };
            var yAxis = {
               title: {
                  text: 'Billions'
               },
               labels: {
                  formatter: function () {
                     return this.value/1000;
                  }
               }
            };
            var tooltip = {
               shared: true,
               valueSuffix: ' millions'
            };
            var plotOptions = {
               area: {
                  stacking: 'percent',
                  lineColor: '#666666',
                  lineWidth: 1,
                  marker: {
                     lineWidth: 1,
                     lineColor: '#666666'
                  }
               }
            };
            var credits = {
               enabled: false
            };
            var series = [
               {
                  name: 'Asia',
                  data: [502, 635, 809, 947, 1402, 3634, 5268]
               }, 
               {
                  name: 'Africa',
                  data: [106, 107, 111, 133, 221, 767, 1766]
               }, 
               {
                  name: 'Europe',
                  data: [163, 203, 276, 408, 547, 729, 628]
               }, 
               {
                  name: 'America',
                  data: [18, 31, 54, 156, 339, 818, 1201]
               }, 
               {
                  name: 'Oceania',
                  data: [2, 2, 2, 6, 13, 30, 46]
               }
            ];
            var json = {};   
            json.chart = chart; 
            json.title = title; 
            json.subtitle = subtitle; 
            json.xAxis = xAxis;
            json.yAxis = yAxis;
            json.tooltip = tooltip;
            json.plotOptions = plotOptions;
            json.credits = credits;
            json.series = series;
            $('#container').highcharts(json);
         });
      </script>
   </body>
</html>