全国主要城市空气质量(PM2.5)对比图

使用Echarts对数据进行可视化,在地图中显示各个城市的PM2.5污染情况,使人能够直观看出各个城市的污染情况。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>全国主要城市空气质量对比图</title>
		<script src="js/echarts.min.js"></script>
		<script type="text/javascript" src="js/jquery-1.11.2.min.js" ></script>
		<script type="text/javascript" src="js/china.js" ></script>
	</head>
	<body>
		<div id="main" style="width: 600px;height: 400px;"></div>
		
		<script type="text/javascript">
			var myChart = echarts.init(document.getElementById('main'));
			
			var option = {
				backgroundColor: '#404a59',
				title:{
					text:'全国主要城市空气质量对比图-PM2.5',
					left:'center',
					textStyle:{
					    color:'white',
					    fontSize:22
						}
					},
				legend:{
					orient:'vertical',
					left:'right',
					bottom:'bottom',
					data:['PM2.5','Top5'],
					textStyle:{
						color:'white'
					}
					},
					tooltip:{
						trigger:'item',
						formatter:function(params){
							return "城市:"+params.name+" <br>PM2.5:"+params.value[2];
						}	
					},

								geo: {
			        				map: 'china',
			        				roam: true,
			        				itemStyle: {
			            				normal: {
			                				areaColor: '#323c48',
			                				borderColor: '#404a59'
			            				},
			            				emphasis: {
			                				areaColor: '#2a333d'
			            				}
			        				}
			    				},
								
							visualMap:{
									type: 'piecewise',
									splitNumber:6,
									min:0,
									max:360,
									textStyle:{
										color:'white'
											}
										},
						}
								
			var cityCoordData = null;
			$.ajax({
			               url:"data/dtData.json",
				async:false,
				dataType:"json",
				success:function(data){
					cityCoordData = data;
					}
				});
						
			var pmData = null;
			$.ajax({
				url:"data/pmData.json",
				async:false,
				dataType:"json",
				success:function(data){
					pmData = data.pmData;
					}
				});
						
			var convertData = function getData(pmData){
					var res = [];
					for(var i=0;i<pmData.length;i++){
					var cityName = pmData[i].name;
					var cityCoord = cityCoordData[cityName];
					var cityValue = pmData[i].value;
					cityCoord.push(cityValue);
					res.push({
							name:cityName,
							value:cityCoord
							});
						}
							return res;
						}
						
				series =[
					{
							name:"PM2.5",
							type:'scatter',
							coordinateSystem:'geo',
							symbol:'circle',
							symbolSize: function(val){
								return val[2]/10;
								},
							data:convertData(pmData)
							},
							{
								name:'Top5',
								type:'effectScatter',
								coordinateSystem:'geo',
								data:convertData(pmData.sort(function(a,b){
									return b.value-a.value;
								}).slice(0,5)),
														
								showEffectOn: 'emphasis',
								rippleEffect: {
							                 brushType: 'stroke'
							            		},
							            				
							    effectType:"ripple", //特效类型,目前只支持涟漪特效'ripple'。
							    showEffectOn:"render",      //配置何时显示特效。可选:'render' 绘制完成后显示特效。'emphasis' 高亮(hover)的时候显示特效。
							    rippleEffect:{              //涟漪特效相关配置。
							        		period:4,               //动画的时间。
							        		scale:2.5,              //动画中波纹的最大缩放比例。
							        		brushType:'stroke',      //波纹的绘制方式,可选 'stroke' 和 'fill'。
							    			},
							    						
							    hoverAnimation: true,
							    label: {
							          normal: {
							               formatter: '{b}',
							               position: 'right',
							               show: true,
							               color:'yellow'
							                	 }
							            },
							          itemStyle: {
							               normal: {
							                      color: '#f4e925',
							                    	shadowBlur: 10,
							                    	shadowColor: '#333'
							                				}
							            				},
							           zlevel: 1,
							         symbolSize: function(val){
												return val[2]/10;
												},
								}
							]

           option.series = series;
			myChart.setOption(option);
			
			
		</script>
	</body>
</html>

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Echarts是一个基于JavaScript的开源可视化库,可以用来制作各种各样的表,包括空气质量仪表盘和地等。下面是关于Echarts空气质量的介绍: 1. Echarts实现空气质量仪表盘 可以使用Echarts制作空气质量仪表盘,通过设置仪表盘的指针和颜色等属性,可以直观地展示当前空气质量的情况。 2. Echarts实现空气质量查询网页 可以使用Python Flask框架建立项目,使用Python爬虫爬取空气质量数据,并使用Echarts实现空气质量查询网页。可以根据城市名称查询该城市空气质量情况,并通过Echarts表展示。 3. Echarts实现地空气质量查询 可以在地的基础上使用颜色区分和散点,通过配置散点数据和涟漪动画等属性,可以直观地展示全国各地的空气质量情况。 下面是一个Echarts实现地空气质量查询的例子: ```javascript option = { series: [{ data: airData, // 空气质量数据 geoIndex: 0, // 将空气质量的指数和第0个gen关联在一起 type: 'map', // 类型是map }, { data: scatterData, // 配置散点数据(坐标值) type: 'effectScatter', // 类型是会扩散的散点 coordinateSystem: 'geo', // 指明散点使用的坐标系统是geo rippleEffect: { scale: 5, // 设置涟漪动画的缩放 color: '#107' // 涟漪的颜色 }, }], visualMap: { min: 0, max: 300, inRange: { // 最大值最小值以及颜色过渡 color: ['#fff', 'red'] }, calculable: true // 出现滑块选择范围 } }; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值