ng-alain之G2图表

shared.module.ts

  • 导入G2
import {G2BarModule} from '@delon/chart/bar';
const DIRECTIVES = [G2BarModule];

方法一

  • 先定义G2图表,然后在进行修饰
  dataa = [
        {time: '1951 年', type: '异常', value: 3},
        {time: '1951 年', type: '完成', value: 3},
        {time: '1951 年', type: '3', value: 3},
        {time: '1951 年', type: '4', value: 3},
        {time: '1952 年', type: '异常', value: 5},
        {time: '1952 年', type: '完成', value: 2},
        {time: '1953 年', type: '异常', value: 4},
        {time: '1954 年', type: '完成', value: 4},
        {time: '1955 年', type: '异常', value: 4},
        {time: '1956 年', type: '完成', value: 3},
        {time: '1957 年', type: '异常', value: 2},
    ];

    barChart;

ngAfterViewInit() {

        this.barChart = new G2.Chart({
            container: 'container',
            height: 500,
        });
        this.DrawChat()
    }

DrawChat() {
        this.barChart.source(this.dataa, {
            value: {
                max: 10,
                min: 0,
                nice: true,
            },
        });
        this.barChart.axis('time', {
            label: {
                textStyle: {
                    fill: '#aaaaaa',
                },
            },
            tickLine: {
                alignWithLabel: false,
                length: 0,
            },
        });

        this.barChart.axis('value', false);
        this.barChart.legend({
            position: 'top-center',
        });
        this.barChart.intervalStack().position('time*value').color('type', ['#FA0303', '#3AA1FF'])
            .opacity(1)
            .label('value', val => {
                if (val < 2) {
                    return false;
                }
                return {
                    position: 'middle',
                    offset: 0,
                    textStyle: {
                        fill: '#fff',
                        fontSize: 12,
                        shadowBlur: 2,
                        shadowColor: 'rgba(0, 0, 0, .45)',
                    },
                    formatter: text => {
                        return text;
                    },
                };
            });

        this.barChart.render();
    }

方法二 (推荐)


dataa = [
        {time: '1951 年', type: '异常', value: 3},
        {time: '1951 年', type: '完成', value: 3},
        {time: '1951 年', type: '3', value: 3},
        {time: '1951 年', type: '4', value: 3},
        {time: '1952 年', type: '异常', value: 5},
        {time: '1952 年', type: '完成', value: 2},
        {time: '1953 年', type: '异常', value: 4},
        {time: '1954 年', type: '完成', value: 4},
        {time: '1955 年', type: '异常', value: 4},
        {time: '1956 年', type: '完成', value: 3},
        {time: '1957 年', type: '异常', value: 2},
    ];
    
  ngAfterViewInit() {
        this.drawBarChart()
    }
    
drawBarChart() {
        const chart = new G2.Chart({
            container: 'g2_c1',
            width : 1000,
            height : 500
        });

        chart.source(this.dataa);
        chart.interval().position('time*value').color('type', ['#FA0303', '#3AA1FF']).opacity(1)
            .label('value', val => {
                if (val < 2) {
                    return false;
                }
                return {
                    position: 'middle',
                    offset: 0,
                    textStyle: {
                        fill: '#fff',
                        fontSize: 12,
                        shadowBlur: 2,
                        shadowColor: 'rgba(0, 0, 0, .45)',
                    },
                    formatter: text => {
                        return text;
                    },
                };
            });
        chart.render();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值