angular2 图表指令ng2-echarts
一、安装
npm install echarts --savenpm install ng2-echarts --save
二、配置
1、angular-cli.json
"scripts": ["../node_modules/echarts/dist/echarts.min.js"]
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相关推荐
- Vue 人资 实战篇九 其他模块集成和主页审批-图表-日历、echarts、 枚举的一个方法
1.0 全模块集成 目标: 将其他业务模块代码集成到该项目中 到目前为止,我们已经完成了一个基本项目框架 + 组织架构 + 公司 + 员工 + 权限的 业务联调, 时间关系,我们不可能将所有的业务都去 ...
- 数据分析可视化04 图表组件:Echarts数据可视化图表基础
本课时是课程的第二个模块,环境部署篇的第一个课时.在第一部分的基础理论篇,我向你介绍了数据可视化分析的概念定义.方法体系和关键技术.接下来,我会带你了解基于开源框架,如何部署数据可视化分析的开发环境, ...
- Angular2或Angular4使用echarts,ngx-echarts
Angular2或Angular4使用echarts,ngx-echarts 1> 安装 npm install echarts --save npm install ngx-echarts@2 ...
- 微信小程序使用echarts图表,与延迟加载图表,解决echarts文件过大
微信小程序使用echarts图表,与延迟加载图表,解决echarts文件过大 引入echarts组件 展示echarts图表数据 延迟加载图表 如何解决echarts文件过大 引入echarts组件 ...
- 在echarts图表外调用echarts的下载功能以及echarts getDataURL图表数据不显示的问题的解决方案...
问题描述: echarts图表的toolbox里面本身有下载的功能,但有的时候,我们需要在echarts图表外添加一个按钮来实现下载,以下是基于vue,echarts版本4的一个解决方案记录: 解决方 ...
- 开源的数据可视化JavaScript图表库:ECharts
ECharts (Enterprise Charts 商业产品图表库)是基于HTML5 Canvas的一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽 ...
- mysql的可视化图表_利用ECharts可视化mysql数据库中的数据
这是工程所有文件的一个目录 工程文件目录 我做了一个柱状图,一个饼状图,一个折线图,配置过程很恶心,出了好多错,所以在这里记录一下. 如果想直接看 echarts 的部分,可以跳过下面数据库的建立. ...
- java+web+股票图表_基于Echarts的股票K线图展示
一.概述 这是一个简单的股票K线图展示,利用echarts第三方进行配置,用户可以进行放大缩小查看K线图,还可进行拖拽. 二.演示效果 三.目录结构 其中dist文件夹是echart插件,jquery ...
- 图表库:ECharts 、 BizCharts 和 G2使用体验
阿里正式开源的BizCharts图表库基于React技术栈,各个图表项皆采用了组件的形式,贴近React的使用特点.同时BizCharts基于G2进行封装,Bizcharts也继承了G2相关特性.公司 ...
最新文章
- 科大星云诗社动态20210415
- lua工具库penlight--06数据(一)
- Django(part20)--数据库和模型
- leetcode —— 1004. 最大连续1的个数 III
- Cookie、Session、Token、JWT分别是什么(一)
- AXI FULL协议学习与仿真
- 用C++完成华氏温度换摄氏温度
- 卸载ie里的java_怎么样卸载IE10/IE11 两种方法教你快速卸载IE10/IE11
- 学生用计算机的感叹号在哪,感叹号怎么打电脑(感叹号的用法及举例)
- Developing DataBase Applications Using MySQL Connector/C++ 中文文本
- excel 添加换行符,去除换行符:
- 检测网络不通时自动重启计算机,电脑连不上网怎么办?6个最简单最实用的解决办法,帮你轻松搞定!...
- 【DataWhale学习】Day10~13-4章决策树——西瓜书学习摘录笔记
- python 小说人物分析_用Python来看金庸先生的小说,这一生向大侠致敬
- 机器学习——霍夫丁不等式【转】
- IP地理位置定位技术原理是什么
- 【漏洞】竟然可以盗取swarm测试网电子票?
- SAP中国培训体系及ECC课程表介绍
- 为毛你深陷故障驱动式开发
- Andorid手机振动器(Vibrator)的使用
热门文章
- 在osx 10.10.3 下安装git总结
- Android学习笔记09:Paint及Canvas的简单应用
- apk(安卓手机应用软件)解包汉化过程简单陈述 [转贴]
- windows c++版faster-rcnn
- python中字符串(二)-访问值、更新、转义、运算
- 测试面试题集-MySQL数据库灵魂拷问加强版
- A股开盘:深证区块链50指数跌0.94%,美邦服饰涨停
- Bitfinex将向纽约总检察长办公室移交“被指控 8.5 亿美元资金挪用案”相关文件
- SAP License:SAP系统上线数据导入的几个注意事项
- SAP License:SAP生产订单中的统计指标运用