echarts在angular项目中的使用

前言

文中所示的是柱状图的一个效果,为增强对该实例的印象,结合工作中所制作的数据大屏来进行联系

一、极坐标下的柱状图堆叠效果

1.1堆叠在一起的效果

图中所示的是界面被分为六分其中第一份中有echarts图形,在工作中总会遇到每一份中的echarts图形不一样的要求,在这里只做第一份的效果演示 

HTML:

<div class="container_main">
    <div class="item item1" #barElement></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
</div>

SCSS:

.container_main {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    grid-template-rows: 1fr 1fr;
    grid-gap: 20px;
    .item {
        background-color: rgb(200, 255, 255);
    }
    .item1 {
        background-color: #fff;
    }
}

TS:

window = <any>window;
    @ViewChild('barElement') barElement!: ElementRef;
    echartsElement: any;

 practiceIfy = {
        onInit: () => {
            this.echarts.requestToInit().subscribe(result => {
                if (result) {
                    this.echartsElement = this.window.echarts.init(this.barElement.nativeElement);
                    const option = {
                        angleAxis: {}, //极坐标系的径向轴。
                        radiusAxis: {//极坐标的角度轴
                            type: 'category',
                            data: ['Mon', 'Tue', 'Wed', 'Thu'],
                            z: 10, //半径轴组件的所有图形的z值。控制图形的前后顺序。z值小的图形会被z值大的图形覆盖。
                        },
                        polar: {},
                        series: [
                            {
                                type: 'bar',
                                data: [1, 2, 3, 4],
                                coordinateSystem: 'polar', //按照极坐标的方式进行堆叠
                                name: 'A',
                                stack: 'a', //数据堆叠,同个类目轴上系列配置相同的 stack 值可以堆叠放置 堆叠配置都为a 说明都堆叠在一起
                                emphasis: {
                                    focus: 'series', //高光显示的效果
                                },
                            },
                            {
                                type: 'bar',
                                data: [2, 4, 6, 8],
                                coordinateSystem: 'polar',
                                name: 'B',
                                stack: 'a',
                                emphasis: {
                                    focus: 'series',
                                },
                            },
                            {
                                type: 'bar',
                                data: [1, 2, 3, 4],
                                coordinateSystem: 'polar',
                                name: 'C',
                                stack: 'a',
                                emphasis: {
                                    focus: 'series',
                                },
                            },
                        ],
                        legend: {
                            show: true,
                            data: ['A', 'B', 'C'], //图例
                        },
                    };
                    this.echartsElement.setOption(option);
                }
            });
        },
    };


 ngAfterViewInit(): void {
        fromEvent(window, 'resize')
            .pipe(debounceTime(300))
            .subscribe(result => {
                this.echartsElement.resize();//每次窗口发生变化的时候都会调用ehcarts的重新调整大小的方法
            });
        this.practiceIfy.onInit();
    }

其中series系列中的data 对应的是图像中name为'A‘的一组,data为[1,2,3,4],那么分别对应的是mon为1,在极坐标中根据角度轴可以在下图看到所占的值为1,以此类推,而name为B、C的数据需要和同为stack同为’a'的'A‘进行堆叠。

1.2不堆叠的效果

如果三组数据不堆叠,则把每组数据中的stack:'a'去除后,每组数据应该是分开的,得到的效果应为

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Angular Echarts 是一个使用 Angular 框架与 Echarts 图表库集成的工具。它提供了一种简单而强大的方式来在 Angular 应用创建交互式图表。通过 Angular Echarts,你可以轻松地将各种图表(如折线图、柱状图、饼图等)添加到你的 Angular 组件,并对其进行配置和自定义。 要使用 Angular Echarts,首先需要在你的 Angular 项目安装 echarts 和 ngx-echarts 库。然后,在你的组件引入 ngx-echarts 模块,并使用相应的组件来创建和配置图表。 以下是一个简单的示例,展示如何在 Angular 使用 Echarts: 1. 首先,安装 echarts 和 ngx-echarts: ``` npm install echarts ngx-echarts ``` 2. 在你的组件引入 ngx-echarts 模块: ```typescript import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { NgxEchartsModule } from 'ngx-echarts'; import { AppComponent } from './app.component'; @NgModule({ declarations: [AppComponent], imports: [BrowserModule, NgxEchartsModule.forRoot()], bootstrap: [AppComponent] }) export class AppModule {} ``` 3. 在你的组件模板使用 ngx-echarts 组件来创建图表: ```html <div> <ngx-echarts [options]="chartOptions" [theme]="chartTheme" [loading]="isLoading" (chartInit)="onChartInit($event)"></ngx-echarts> </div> ``` 4. 在你的组件类定义图表的配置和数据: ```typescript import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { chartOptions: any; chartTheme: string; isLoading: boolean; constructor() { this.chartOptions = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [150, 230, 224, 218, 135, 147, 260], type: 'bar' }] }; this.chartTheme = 'light'; this.isLoading = false; } onChartInit(echartsInstance: any) { // 可以在这里对图表实例进行进一步的配置和操作 console.log('Chart initialized:', echartsInstance); } } ``` 以上示例演示了如何使用 ngx-echartsAngular 创建一个简单的柱状图。你可以根据自己的需求进行配置和扩展,使用不同类型的图表和其他 Echarts 功能。 希望这个简单的示例能帮助你入门 Angular Echarts!如果你还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值