From f8523eab69d2695163f9edb44fe822dbd0027068 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Wed, 25 Jul 2018 13:55:33 +0800 Subject: [PATCH] 图表 优化 --- src/app/routes/statistics/analysis/analysis.component.ts | 83 +++++++++++++++++++++++++++++++++-------- 1 files changed, 67 insertions(+), 16 deletions(-) diff --git a/src/app/routes/statistics/analysis/analysis.component.ts b/src/app/routes/statistics/analysis/analysis.component.ts index 4426108..e129154 100644 --- a/src/app/routes/statistics/analysis/analysis.component.ts +++ b/src/app/routes/statistics/analysis/analysis.component.ts @@ -1,9 +1,11 @@ +import { environment } from '../../../../environments/environment'; import { Component, OnInit, OnDestroy } from '@angular/core'; import { NzMessageService } from 'ng-zorro-antd'; import { _HttpClient } from '@delon/theme'; import { HttpClient } from '@angular/common/http'; import * as moment from 'moment'; import { DeviceService } from '@business/services/http/device.service'; +import * as echarts from 'echarts'; @Component({ selector: 'statistics-analysis', @@ -22,24 +24,73 @@ public msg: NzMessageService, private http2: HttpClient) { } + + public option = { + title: { + text: '', + left: 'center' + }, + tooltip: { + trigger: 'item', + axisPointer: { + type: 'cross' + } + }, + legend: { + right: '10%', + top: '10%', + data: ['������������', '������������'] + }, + xAxis: { + type: 'category', + data: [] + }, + yAxis: { + type: 'value', + name: '���������ug/m��' + }, + series: [ + { + data: [], + type: 'line', + smooth: true, + name: '������������' + }, { + data: [], + type: 'line', + smooth: true, + name: '������������' + } + ] + }; ngOnInit() { - const offlineChartData1 = []; - const offlineChartData2 = []; - for (let i = 0; i < 20; i += 1) { - offlineChartData1.push({ - x: new Date().getTime() + 1000 * 60 * 30 * i, - y1: Math.floor(Math.random() * 100) + 10, - y2: Math.floor(Math.random() * 100) + 10 - }); - offlineChartData2.push({ - x: new Date().getTime() + 1000 * 60 * 30 * i, - y1: Math.floor(Math.random() * 100) + 10, - y2: Math.floor(Math.random() * 100) + 10 - }); - } - this.offlineChartData1 = offlineChartData1; - this.offlineChartData2 = offlineChartData2; + const offlineChartData = [[], [], [], []]; + const params = {size: '24'}; + this.http2.get(environment.SERVER_BASH_URL + 'demo/compare', {params: params}).subscribe((res: any) => { + res.forEach(data => { + offlineChartData[0].push(data.this_month_PM2_5); + offlineChartData[1].push(data.last_month_PM2_5); + offlineChartData[2].push(data.this_month_PM10); + offlineChartData[3].push(data.last_month_PM2_5); + this.option.xAxis.data.push(data.format_time); + }); + + const PM25 = echarts.init(document.getElementById('PM25')); + this.option.series[0].data = offlineChartData[0]; + this.option.series[1].data = offlineChartData[1]; + PM25.setOption(this.option, false); + + const PM10 = echarts.init(document.getElementById('PM10')); + this.option.series[0].data = offlineChartData[2]; + this.option.series[1].data = offlineChartData[3]; + PM10.setOption(this.option, false); + + window.addEventListener('resize', function() { + PM25.resize(); + PM10.resize(); + }); + }); } ngOnDestroy(): void { -- Gitblit v1.8.0