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/forecasting-warning/forecasting-warning.component.ts | 119 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 75 insertions(+), 44 deletions(-) diff --git a/src/app/routes/forecasting-warning/forecasting-warning.component.ts b/src/app/routes/forecasting-warning/forecasting-warning.component.ts index 80765ba..b8bf208 100644 --- a/src/app/routes/forecasting-warning/forecasting-warning.component.ts +++ b/src/app/routes/forecasting-warning/forecasting-warning.component.ts @@ -21,7 +21,7 @@ [x: string]: any; public isShow = true; - + colors = ['#c23531', '#2f4554', '#61a0a8', '#d48265', '#91c7ae', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3']; public option = { title: { text: '', @@ -46,10 +46,17 @@ data: [], type: 'line', smooth: true, - name: '' + name: '', + itemStyle: { + color: '' + }, + areaStyle: { + normal: {} + } } ] }; + public type = 'warning'; ngOnInit() { this.initWarning(); } @@ -88,32 +95,31 @@ } }); const forecasting_tempChart = echarts.init(document.getElementById('forecasting_temp')); - this.option.series[0].data = temp; - this.option.yAxis.name = '������������'; this.option.title.text = title + '(������)'; - forecasting_tempChart.setOption(this.option, false); - window.onresize = forecasting_tempChart.resize; + this.option.yAxis.name = '������������'; + this.option.series[0].data = temp; + this.option.series[0].itemStyle.color = this.colors[0]; forecasting_tempChart.setOption(this.option, false); const forecasting_humidityChart = echarts.init(document.getElementById('forecasting_humidity')); - this.option.series[0].data = humidity; - this.option.yAxis.name = '���������%'; this.option.title.text = title + '(������)'; + this.option.yAxis.name = '���������%'; + this.option.series[0].data = humidity; + this.option.series[0].itemStyle.color = this.colors[1]; forecasting_humidityChart.setOption(this.option, false); - window.onresize = forecasting_humidityChart.resize; const forecasting_pressureChart = echarts.init(document.getElementById('forecasting_pressure')); - this.option.series[0].data = pressure; - this.option.yAxis.name = '���������hPa'; this.option.title.text = title + '(������)'; + this.option.yAxis.name = '���������hPa'; + this.option.series[0].data = pressure; + this.option.series[0].itemStyle.color = this.colors[2]; forecasting_pressureChart.setOption(this.option, false); - window.onresize = forecasting_pressureChart.resize; const forecasting_uviChart = echarts.init(document.getElementById('forecasting_uvi')); - this.option.series[0].data = uvi; - this.option.yAxis.name = '���������'; this.option.title.text = title + '(���������)'; + this.option.yAxis.name = '���������'; + this.option.series[0].data = uvi; + this.option.series[0].itemStyle.color = this.colors[3]; forecasting_uviChart.setOption(this.option, false); - window.onresize = forecasting_uviChart.resize; const daydatas = daysRes['data'].forecast; const temp_day = []; @@ -127,22 +133,37 @@ } }); const forecasting_temp_dayChart = echarts.init(document.getElementById('forecasting_temp_day')); + this.option.title.text = '���������������(������)'; + this.option.yAxis.name = '������������'; + this.option['legend'] = { + right: '10%', + top: '10%', + data: ['������������', '������������'] + }; + this.option.series[0].data = temp_day; + this.option.series[0].name = '������������'; + this.option.series[0].itemStyle.color = this.colors[4]; this.option.series[1] = { data: temp_night, type: 'line', smooth: true, - name: '������������' + name: '������������', + areaStyle: { + normal: {} + }, + itemStyle: { + color: this.colors[6] + } }; - this.option.series[0].data = temp_day; - this.option.series[0].name = '������������'; - this.option.yAxis.name = '������������'; - this.option.title.text = '���������������(������)'; - this.option['legend'] = { - right: '10%', - data: ['������������', '������������'] - }, forecasting_temp_dayChart.setOption(this.option, false); - window.onresize = forecasting_temp_dayChart.resize; + + window.addEventListener('resize', function() { + forecasting_tempChart.resize(); + forecasting_humidityChart.resize(); + forecasting_pressureChart.resize(); + forecasting_uviChart.resize(); + forecasting_temp_dayChart.resize(); + }); }); } @@ -153,7 +174,8 @@ const PM2_5 = []; const PM10 = []; const CO = []; const NO2 = []; const O3 = []; const SO2 = []; const title = '������������������'; this.option.xAxis.data = []; - this.http.get(environment.SERVER_BASH_URL + 'demo/list').subscribe((res: any) => { + const params = {size: '7'}; + this.http.get(environment.SERVER_BASH_URL + 'demo/list', {params: params}).subscribe((res: any) => { res.forEach(data => { const json = JSON.parse(data.aqi_json); PM2_5.push(json.PM2_5); @@ -165,46 +187,55 @@ this.option.xAxis.data.push(moment(data.time).format('DD���HH���')); }); const warning_PM25Chart = echarts.init(document.getElementById('warning_PM25')); - this.option.series[0].data = PM2_5; - this.option.yAxis.name = '���������ug/m��'; this.option.title.text = title + '(PM2.5)'; + this.option.yAxis.name = '���������ug/m��'; + this.option.series[0].data = PM2_5; + this.option.series[0].itemStyle.color = this.colors[0]; warning_PM25Chart.setOption(this.option, false); - window.onresize = warning_PM25Chart.resize; const warning_PM10Chart = echarts.init(document.getElementById('warning_PM10')); - this.option.series[0].data = PM10; - this.option.yAxis.name = '���������ug/m��'; this.option.title.text = title + '(PM10)'; + this.option.yAxis.name = '���������ug/m��'; + this.option.series[0].data = PM10; + this.option.series[0].itemStyle.color = this.colors[1]; warning_PM10Chart.setOption(this.option, false); - window.onresize = warning_PM10Chart.resize; const warning_COChart = echarts.init(document.getElementById('warning_CO')); - this.option.series[0].data = CO; - this.option.yAxis.name = '���������mg/m��'; this.option.title.text = title + '(CO)'; + this.option.yAxis.name = '���������mg/m��'; + this.option.series[0].data = CO; + this.option.series[0].itemStyle.color = this.colors[2]; warning_COChart.setOption(this.option, false); - window.onresize = warning_COChart.resize; const warning_NO2Chart = echarts.init(document.getElementById('warning_NO2')); - this.option.series[0].data = NO2; - this.option.yAxis.name = '���������ug/m��'; this.option.title.text = title + '(NO2)'; + this.option.yAxis.name = '���������ug/m��'; + this.option.series[0].data = NO2; + this.option.series[0].itemStyle.color = this.colors[3]; warning_NO2Chart.setOption(this.option, false); - window.onresize = warning_NO2Chart.resize; const warning_O3Chart = echarts.init(document.getElementById('warning_O3')); - this.option.series[0].data = O3; - this.option.yAxis.name = '���������ug/m��'; this.option.title.text = title + '(O3)'; + this.option.yAxis.name = '���������ug/m��'; + this.option.series[0].data = O3; + this.option.series[0].itemStyle.color = this.colors[4]; warning_O3Chart.setOption(this.option, false); - window.onresize = warning_O3Chart.resize; const warning_SO2Chart = echarts.init(document.getElementById('warning_SO2')); - this.option.series[0].data = SO2; - this.option.yAxis.name = '���������ug/m��'; this.option.title.text = title + '(SO2)'; + this.option.yAxis.name = '���������ug/m��'; + this.option.series[0].data = SO2; + this.option.series[0].itemStyle.color = this.colors[6]; warning_SO2Chart.setOption(this.option, false); - window.onresize = warning_SO2Chart.resize; + + window.addEventListener('resize', function() { + warning_PM25Chart.resize(); + warning_PM10Chart.resize(); + warning_COChart.resize(); + warning_NO2Chart.resize(); + warning_O3Chart.resize(); + warning_SO2Chart.resize(); + }); }); } } -- Gitblit v1.8.0