Angular-集成-Typescript-版本-Echarts-(附代码)

前言

由于本人之前在开发数据分析,机器学习类产品的时候经常用到百度开源的 echarts 数据可视化库从此爱不释手。恰好公司项目最近涉及到统计、数据展示的模块,于是才有了写这篇文章的动力,并打算靠 echarts 和 Event Sourcing 后台开发一个流式、实时、交互性强的前端数据产品。

echarts 同样经典的框架还有 d3,但后者的前端技术门槛明显要高出 echarts 很多,如果前端不是你的主业,或者不需要做许多特定偏底层的个性化开发,那我还是建议你使用 echarts。由于它出色的设计理念可以使你达到事半功倍的效果,而且在性能上也满足日常大数据分析的要求,可以同时在前端渲染 200万个数据点。且整个框架遵守 “Convention Over Configuration”的规范,也就是说,在开发中大部分工作都会专注在配置上,这让我们有更多的时间去关心如何做数据而不是艺术(美术)。

本文会以一个经典的例子开头,再在后面的篇幅中介绍一下 ngx-echarts 的特殊 API。

1 安装 & 配置

假设你已经安装了 ng 的命令行工具,首先我们创建一个新项目:

$ ng new angular-echarts-example
$ cd angular-echarts-example

安装程序需要的 angular echarts 的依赖,这样你才能在 typescript 和 angular 中配置 echarts :

$ npm install echarts -S

$ npm install ngx-echarts -S

$ npm install @types/echarts -D

如果需要 GL(比如 3D 效果)还要特殊安装:
$ npm install echarts-gl -S

之后发现 package.json 文件中 在 dependencies 和 devDependencies 多了:

“echarts”: “^4.7.0” , “ngx-echarts”: “^4.2.2” 和 “@types/echarts”: “^4.6.0”

在 module.ts 文件中引用 ngx-echarts 模块:

import { BrowserModule } from ‘@angular/platform-browser’;
import { NgModule } from ‘@angular/core’;

import { AppRoutingModule } from ‘./app-routing.module’;
import { AppComponent } from ‘./app.component’;
import { NgxEchartsModule } from ‘ngx-echarts’;

@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
NgxEchartsModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }

在 html 中添加:

angular works!

有需要的话也可以使用 [initOpts] 等 API,这些会在后面介绍

然后写一个被广泛流传的 echarts-typescript 例子:

import { Component } from ‘@angular/core’;
import { EChartOption } from ‘echarts’

@Component({
selector: ‘app-root’,
templateUrl: ‘./app.component.html’,
styleUrls: [‘./app.component.css’]
})
export class AppComponent {
title = ‘angular-echarts-example’;

chartOption: EChartOption = {
tooltip: {
trigger: ‘axis’,
axisPointer: {
type: ‘cross’,
crossStyle: {
color: ‘#999’
}
}
},
toolbox: {
feature: {
dataView: {
show: true,
readOnly: false,
title: ‘Datensicht’
},
magicType: {
show: true,
type: [‘line’, ‘bar’],
title: ‘migic type’
},
restore: {
show: true,
title: ‘Zurücksetzen’
},
saveAsImage: {
show: true,
title: ‘Speichern’
}
}
},
legend: {
data: [‘蒸发量’, ‘降水量’, ‘平均温度’]
},
xAxis: [
{
type: ‘category’,
data: [‘1月’, ‘2月’, ‘3月’, ‘4月’, ‘5月’, ‘6月’, ‘7月’, ‘8月’, ‘9月’, ‘10月’, ‘11月’, ‘12月’],
axisPointer: {
type: ‘shadow’
}
}
],
yAxis: [
{
type: ‘value’,
name: ‘水量’,
min: 0,
max: 250,
interval: 50,
axisLabel: {
formatter: ‘{value} ml’
}
},
{
type: ‘value’,
name: ‘温度’,
min: 0,
max: 25,
interval: 5,
axisLabel: {
formatter: ‘{value} °C’
}
}
],
series: [
{
name: ‘蒸发量’,
type: ‘bar’,
data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
},
{
name: ‘降水量’,

如果你进阶的路上缺乏方向,可以加入我们的圈子和安卓开发者们一起学习交流!

  • Android进阶学习全套手册

    img

  • Android对标阿里P7学习视频

    img

  • BATJ大厂Android高频面试题

    img

最后,借用我最喜欢的乔布斯语录,作为本文的结尾:

人这一辈子没法做太多的事情,所以每一件都要做得精彩绝伦。
你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。
最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。
最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值