一、安装

npm install echarts --savenpm install ng2-echarts --save

二、配置

1、angular-cli.json

"scripts": ["../node_modules/echarts/dist/echarts.min.js"]

2、相应模块module.ts
import { Ng2Echarts } from 'ng2-echarts';                     // 图表 - echart@NgModule({ declarations: [Ng2Echarts, ]
})

三、使用

1、html

<div class="echart-pie" [ng2-echarts]="incomesAmount"  ></div>

2、component.ts

具体使用方法(或者默认参数设置)可参照echarts官网:http://echarts.baidu.com/examples.html

以空心饼图为例:

①、先设置默认参数defaultPieOptions如下:

 1 public defaultPieOptions = {
 2   series: [{
 3     type: 'pie',
 4     name: '交易总额',
 5     radius: ['67%', '100%'],
 6     minAngle: 5,
 7     avoidLabelOverlap: false,
 8     hoverAnimation: false,
 9     label: {
10       normal: {
11         show: false,
12         position: 'center',
13         textStyle: {
14           fontSize: '30',
15           fontWeight: 'bold'
16         }
17       },
18       emphasis: {
19         show: false
20       }
21     },
22     labelLine: {
23       normal: {
24         show: false
25       }
26     },
27     itemStyle: {
28       normal: {
29         borderWidth: 1,
30         borderColor: '#fff'
31       }
32     }
33   }],
34   color: ['#53b8c4', '#bfe0e4'],   // 有多少项就设置多少个颜色
35   tooltip: {
36     formatter: '{b}:{c}元<br/>占比:{d}%',
37     backgroundColor: 'rgba(0,0,0,0.8)',
38     borderColor: '#000',
39     borderRadius: 0,
40     padding: 5
41   },
42   legend: {
43     show: false
44   }
45 };

②、通过tradeAmountData()方法设置series属性来控制饼图的弧度,使用方法如下:

1   // 交易总额
2   tradeAmountData(obj) {
3     this.tradeAmount = CommonFuncService.clone(defaultPieOptions);    // 需要深拷贝,不然无法设置
4     this.tradeAmount.series[0].data = [
5       { value: obj.payment, name: '支出' },
6       { value: obj.inconmes, name: '收入' },
7     ]
8   }

③、最后在页面从后台拿到数据tradeAmountsData后,就执行tradeAmountData()方法:

1     if (this.tradeAmountsData) {
2       this.tradeAmountData(this.tradeAmountsData);
3     }

其他折线图,柱状图原理一样,只不过需要多设置一个xAxis(X轴数据),或者柱状图Y轴上需要设置一个或多个series数据。

1       this.lineIncomeNumber.xAxis[0].data = dataBarArr.axisLine;
2       this.lineIncomeNumber.series[0].data = dataBarArr.yxisLine.inconmes;
3       this.lineIncomeNumber.series[1].data = dataBarArr.yxisLine.payment; 

附上深拷贝service.ts文件源码:

 1 import { Injectable } from '@angular/core';
 2
 3 let UUID = {};
 4
 5 @Injectable()
 6 export class CommonFuncService {
 7
 8   constructor() { }
 9
10   public static clone(object: any){
11     if(object==null){
12       return object;
13     }else if(object instanceof Array){
14       return CommonFuncService.cloneArray(object);
15     }else if(typeof object == 'object'){
16       return CommonFuncService.cloneObject(object);
17     }else{
18       return object;
19     }
20   }
21
22   private static cloneObject(object){
23     let result = new Object();
24     for(let name in object){
25       result [name] = CommonFuncService.clone(object[name]);
26     }
27     return result;
28   }
29
30   private static cloneArray(object){
31     let result = [];
32     for(let ob of object){
33       result.push(CommonFuncService.clone(ob));
34     }
35     return result;
36   }
37
38   public static makeUUID(){
39     let id = '' + parseInt('' + Math.random() * 100000, 10);
40     while(UUID[id]){
41       id = '' + parseInt('' + Math.random() * 100000, 10);
42     }
43     UUID[id] = 1;
44     return id;
45   }
46
47 }

(本文原创,转载请注明出处!!)

转载于:https://www.cnblogs.com/yanliujun-tangxianjun/p/7655073.html

angular2 图表指令ng2-echarts相关推荐

  1. Vue 人资 实战篇九 其他模块集成和主页审批-图表-日历、echarts、 枚举的一个方法

    1.0 全模块集成 目标: 将其他业务模块代码集成到该项目中 到目前为止,我们已经完成了一个基本项目框架 + 组织架构 + 公司 + 员工 + 权限的 业务联调, 时间关系,我们不可能将所有的业务都去 ...

  2. 数据分析可视化04 图表组件:Echarts数据可视化图表基础

    本课时是课程的第二个模块,环境部署篇的第一个课时.在第一部分的基础理论篇,我向你介绍了数据可视化分析的概念定义.方法体系和关键技术.接下来,我会带你了解基于开源框架,如何部署数据可视化分析的开发环境, ...

  3. Angular2或Angular4使用echarts,ngx-echarts

    Angular2或Angular4使用echarts,ngx-echarts 1> 安装 npm install echarts --save npm install ngx-echarts@2 ...

  4. 微信小程序使用echarts图表,与延迟加载图表,解决echarts文件过大

    微信小程序使用echarts图表,与延迟加载图表,解决echarts文件过大 引入echarts组件 展示echarts图表数据 延迟加载图表 如何解决echarts文件过大 引入echarts组件 ...

  5. 在echarts图表外调用echarts的下载功能以及echarts getDataURL图表数据不显示的问题的解决方案...

    问题描述: echarts图表的toolbox里面本身有下载的功能,但有的时候,我们需要在echarts图表外添加一个按钮来实现下载,以下是基于vue,echarts版本4的一个解决方案记录: 解决方 ...

  6. 开源的数据可视化JavaScript图表库:ECharts

    ECharts (Enterprise Charts 商业产品图表库)是基于HTML5 Canvas的一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽 ...

  7. mysql的可视化图表_利用ECharts可视化mysql数据库中的数据

    这是工程所有文件的一个目录 工程文件目录 我做了一个柱状图,一个饼状图,一个折线图,配置过程很恶心,出了好多错,所以在这里记录一下. 如果想直接看 echarts 的部分,可以跳过下面数据库的建立. ...

  8. java+web+股票图表_基于Echarts的股票K线图展示

    一.概述 这是一个简单的股票K线图展示,利用echarts第三方进行配置,用户可以进行放大缩小查看K线图,还可进行拖拽. 二.演示效果 三.目录结构 其中dist文件夹是echart插件,jquery ...

  9. 图表库:ECharts 、 BizCharts 和 G2使用体验

    阿里正式开源的BizCharts图表库基于React技术栈,各个图表项皆采用了组件的形式,贴近React的使用特点.同时BizCharts基于G2进行封装,Bizcharts也继承了G2相关特性.公司 ...

最新文章

  1. 科大星云诗社动态20210415
  2. lua工具库penlight--06数据(一)
  3. Django(part20)--数据库和模型
  4. leetcode —— 1004. 最大连续1的个数 III
  5. Cookie、Session、Token、JWT分别是什么(一)
  6. AXI FULL协议学习与仿真
  7. 用C++完成华氏温度换摄氏温度
  8. 卸载ie里的java_怎么样卸载IE10/IE11 两种方法教你快速卸载IE10/IE11
  9. 学生用计算机的感叹号在哪,感叹号怎么打电脑(感叹号的用法及举例)
  10. Developing DataBase Applications Using MySQL Connector/C++ 中文文本
  11. excel 添加换行符,去除换行符:
  12. 检测网络不通时自动重启计算机,电脑连不上网怎么办?6个最简单最实用的解决办法,帮你轻松搞定!...
  13. 【DataWhale学习】Day10~13-4章决策树——西瓜书学习摘录笔记
  14. python 小说人物分析_用Python来看金庸先生的小说,这一生向大侠致敬
  15. 机器学习——霍夫丁不等式【转】
  16. IP地理位置定位技术原理是什么
  17. 【漏洞】竟然可以盗取swarm测试网电子票?
  18. SAP中国培训体系及ECC课程表介绍
  19. 为毛你深陷故障驱动式开发
  20. Andorid手机振动器(Vibrator)的使用

热门文章

  1. 在osx 10.10.3 下安装git总结
  2. Android学习笔记09:Paint及Canvas的简单应用
  3. apk(安卓手机应用软件)解包汉化过程简单陈述 [转贴]
  4. windows c++版faster-rcnn
  5. python中字符串(二)-访问值、更新、转义、运算
  6. 测试面试题集-MySQL数据库灵魂拷问加强版
  7. A股开盘:深证区块链50指数跌0.94%,美邦服饰涨停
  8. Bitfinex将向纽约总检察长办公室移交“被指控 8.5 亿美元资金挪用案”相关文件
  9. SAP License:SAP系统上线数据导入的几个注意事项
  10. SAP License:SAP生产订单中的统计指标运用