开发学院

您的位置:首页>教程>正文

教程正文

Angular Highcharts:具有堆叠百分比的柱状图(Column with stacked percentage)

  我们已经在“Highcharts配置语法”一章中看到了用于绘制图表的配置。现在让我们看看其他配置,以及如何在plotoptions中添加堆叠属性。

  下面给出了一个带有百分比的堆叠柱形图示例。

plotOptions

  plotOptions是每个类型的配置对象的包装对象。每个系列的配置对象也可以根据系列数组中给出的每个系列项进行重写,这是将每个系列的值叠加在一起。

  将plotOptions.column.stacking配置为“percent”。默认值为空将禁用堆叠,“normal”按值堆叠,“percent”按百分比堆叠图表。

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

例子

app.component.ts

import { Component } from '@angular/core';
import * as Highcharts from 'highcharts';
@Component({
   selector: 'app-root',
   templateUrl: './app.component.html',
   styleUrls: ['./app.component.css']
})
export class AppComponent {
   highcharts = Highcharts;
   chartOptions = {   
      chart: {
         type: 'column'
      },
      title: {
         text: 'Historic World Population by Region'
      },
      subtitle : {
         text: 'Source: Wikipedia.org'  
      },
      legend : {
         layout: 'vertical',
         align: 'left',
         verticalAlign: 'top',
         x: 250,
         y: 100,
         floating: true,
         borderWidth: 1,
        
         backgroundColor: (
            (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || 
               '#FFFFFF'), shadow: true
       },
       xAxis:{
         categories: ['Africa', 'America', 'Asia', 'Europe', 'Oceania'], title: {
            text: null
         } 
      },
      yAxis : {
         min: 0,
         title: {
            text: 'Population (millions)', align: 'high'
         },
         labels: {
            overflow: 'justify'
         }
      },
      tooltip : {
         valueSuffix: ' millions'
      },
      plotOptions : {
         column: {
            dataLabels: {
               enabled: true
            }
         },
         series: {
            stacking: 'percent'
         }
      },
      credits:{
         enabled: false
      },
      series: [
         {
            name: 'Year 1800',
            data: [107, 31, 635, 203, 2]
         }, 
         {
            name: 'Year 1900',
            data: [133, 156, 947, 408, 6]
         }, 
         {
            name: 'Year 2008',
            data: [973, 914, 4054, 732, 34]      
         }
      ]
   };
}

结果

angular_highcharts_column_stacked_percentages.jpg