Angular2组件与Echarts饼状图交互之饼图制作
来源:互联网 发布:淘宝差评被卖家骚扰 编辑:程序博客网 时间:2024/05/29 00:31
一、前言
1.基于ng4项目
2.组件包括:根组件app和饼状图组件echart
二、饼状图开发过程
1、添加插件 echart
cnpm install echarts --save
2、创建组件 echart
ng g component echart
三、代码编写
echart.component.css
.nf-chart{ width:100%; height:380px; float:left;}
echart.component.html
<div class="tableStyle" [@fadeIn]> <div #echart class="nf-chart"></div></div>
echart.component.ts
import {Component, OnInit, Directive, ElementRef, ViewChild, HostListener,Input} from '@angular/core';import * as echarts from 'echarts'; //引入图表插件import { OnlineSuperviseService } from './online-supervise.service';import { InterceptorService } from '../../../../shared/interceptor.service';import { fadeIn } from '../../../../animations/fade-in';// 动画引入@Component({ selector: 'app-online-supervise', templateUrl: './online-supervise.component.html', styleUrls: ['./online-supervise.component.css'], providers: [OnlineSuperviseService], animations: [fadeIn]})@Directive({ selector: 'echart'})export class OnlineSuperviseComponent implements OnInit { @ViewChild('echart') echart: ElementRef constructor(private el: ElementRef, private onlineSuperviseService: OnlineSuperviseService, private http: InterceptorService) {} state: string;//考试状态 examRoomArrageId: string;//考场id examRoomArrangeName: string;//考场名称 noLonginNum: string;//未登录人数 underExamNum: string;//正在考试人数 noPaperNum: string;//未抽试卷人数 finshExamNum: string;//已交卷人数 ngOnInit() { this.getEchart(); } //加载 public getEchart() { let url = ; this.http.get(url).subscribe( data => { this.examRoomArrangeName = data.json().data.examRoomArrangeName;//考场名称 //各考试状态人数赋值 this.noLonginNum = data.json().data.noLonginNum;//未登录 this.noPaperNum = data.json().data.noPaperNum;//未抽试卷 this.underExamNum = data.json().data.underExamNum;//正在考试 this.finshExamNum = data.json().data.finshExamNum;//已交卷 this.pieChart.title.text = this.examRoomArrangeName;//表格标题赋值 this.pieChart.series[0].data = [//各状态人数 { value: this.noLonginNum, name: '未登录' }, { value: this.noPaperNum, name: '未抽题' }, { value: this.underExamNum, name: '正在考试' }, { value: this.finshExamNum, name: '交卷' }]; echarts.init(this.echart.nativeElement).setOption(this.pieChart);//配置项加载到表格中 }, error => console.error(error)) } //表格配置项 public pieChart = { //饼图各扇形颜色 color: ['#ff7f50', '#87cefa', '#da70d6', '#32cd32'], //标题 title: { text: '', x: 'center' }, //百分比提示信息 tooltip: { trigger: 'item', formatter: "{a} <br/>{b} : {c}人 ({d}%)" }, //用例 legend: { orient: 'vertical', left: 'left', data: ['未登录', '未抽题', '正在考试', '交卷'] }, //扇形配置项 series: [{ name: '考试状态', type: 'pie', startAngle: -180, radius: '55%', center: ['50%', '50%'], data: [], itemStyle: { normal: { label: { show: true, formatter: '{b} : {c}人 ({d}%)' //在饼状图上直接显示百分比 }, labelLine: { show: true } }, emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } }] };}
最后配置好页面路由,饼状图就可以显示。
四、总结
遇到问题之后,首先要做的一点就是想清楚思路,其实问题不难解决,采用分治法讲问题分解为一个个小问题,一步步就可以完成。看官网文档,api文档提高自己的项目技能。
阅读全文
0 0
- Angular2组件与Echarts饼状图交互之饼图制作
- Angular2组件与Echarts饼状图交互之添加点击事件
- Angular2之组件交互和数据绑定
- 【Angular2】组件交互
- Angular2入门之模块与组件
- 【Angular2】组件交互异步问题
- angular2之组件通讯
- angular2学习 之 组件
- Echarts之折线图(面积图)制作
- ECharts 与struts的后台交互之柱状图
- Echarts制作报表-Struts2与之交互
- echarts的饼图制作分析
- 使用Echarts制作动态嵌套饼图
- echarts制作迁徙图
- 图表制作工具之ECharts
- Echarts 后台交互(折线图)
- Echarts 后台交互(折线图)
- Angular2组件与指令的小实践
- Shuffle模块详解
- SPRING MVC_2
- Android--ExpandableListview购物车简单功能实现
- python爬虫之反爬虫情况下的煎蛋网图片爬取初步探索
- 数据流控制文件(自己理解的,求大神指点)
- Angular2组件与Echarts饼状图交互之饼图制作
- Linux网络编程基础API--socket文件描述符API
- 2017.12.5对内网,外网的理解
- python basemap 底图
- Python多进程并发(multiprocessing)
- Android--------使用BottomTabBar实现底部导航页
- chapter5 行列式
- 阻塞/非阻塞 I/O 同步与异步
- 【微营销】第13天 微营销的落地执行(一)