Echarts3.0的簡單使用,動態獲取數據

1.導入echarts.js文件

2.博主這裏使用的是地圖狀的圖標,所有還需要加上

<script src="http://echarts.baidu.com/asset/map/js/china.js"></script>

3.導入JQuery文件,使用ajax來加載動態數據

4.html代碼

<div id="main" style="width:1000px;height:600px;"></div>
5.js代碼
$(function(){
		<!--異步加載數據-->
			$.ajax({
				 type:"GET",
                  url:"http://localhost:8080/global_rader/query/queryCities.action",
				  dataType:"JSON",
				  success : function(msg) {
					  	var result = [];
				  	var data = msg.data;
				  	if(data){
						<!--這個循環是爲了把得到的JSON數組中的一些屬性拼接後變成另一個js數組-->
				  		for(var i = 0;i<data.length;i++){
				  			var city = data[i];
				  			var longitude = city.longitude;
				  			var latitude = city.latitude;
				  			var v = city.value;
				  			var value = [longitude,latitude,v];
				  			result.push({
				  				name:city.name,
				  				value:value
				  			});
				  		}
				  	}
				  	var myChart = echarts.init(document.getElementById('main'));
				  	option = {
    backgroundColor: '#404a59',
    title: {
        text: '全國主要城市空氣質量',
        subtext: 'data from PM25.in',
        sublink: 'http://www.pm25.in',
        left: 'center',
        textStyle: {
            color: '#fff'
        }
    },
    tooltip : {
        trigger: 'item'
    },
    legend: {
        orient: 'vertical',
        y: 'bottom',
        x:'right',
        data:['pm2.5'],
        textStyle: {
            color: '#fff'
        }
    },
    geo: {
        map: 'china',
        label: {
            emphasis: {
                show: false
            }
        },
        roam: true,
        itemStyle: {
            normal: {
                areaColor: '#323c48',
                borderColor: '#111'
            },
            emphasis: {
                areaColor: '#2a333d'
            }
        }
    },
<!--這裏的series有兩個對象,每個對象使用同一組數據,但其顯示效果不同,具體的效果配置請參考官方文檔-->
    series : [
        {
            name: 'pm2.5',
            type: 'scatter',
            coordinateSystem: 'geo',
            data: result,<!--這裏就使用了在上面拼接好的JS數組,裏面的內容是name:'xx',value:[經度,緯度,pm值]-->
            symbolSize: function (val) {
                return val[2] / 10;
            },
            label: {
                normal: {
                    formatter: '{b}',
                    position: 'right',
                    show: false
                },
                emphasis: {
                    show: true
                }
            },
            itemStyle: {
                normal: {
                    color: '#ddb926'
                }
            }
        },
        {
            name: 'Top 5',
            type: 'effectScatter',
            coordinateSystem: 'geo',
            data: result.sort(function (a, b) {
                return b.value[2] - a.value[2];
            }).slice(0, 6),
            symbolSize: function (val) {
                return val[2] / 10;
            },
            showEffectOn: 'render',
            rippleEffect: {
                brushType: 'stroke'
            },
            hoverAnimation: true,
            label: {
                normal: {
                    formatter: '{b}',
                    position: 'right',
                    show: true
                }
            },
            itemStyle: {
                normal: {
                    color: '#f4e925',
                    shadowBlur: 10,
                    shadowColor: '#333'
                }
            },
            zlevel: 1
        }
    ]
};
myChart.setOption(option);
				  }
			});
		});



6.JavaBean

public class City {
	private Long id;
	private String name;
	private int value;
	private float longitude;
	private float latitude;
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getValue() {
		return value;
	}
	public void setValue(int value) {
		this.value = value;
	}
	public float getLongitude() {
		return longitude;
	}
	public void setLongitude(float longitude) {
		this.longitude = longitude;
	}
	public float getLatitude() {
		return latitude;
	}
	public void setLatitude(float latitude) {
		this.latitude = latitude;
	}
	
}

7.controller

	@RequestMapping("queryCities")
	@ResponseBody
	public Object queryDatas()throws Exception{
		Map<String,Object> map =new HashMap<String,Object>();
		List<City> cities = logService.getAll();//這個方法返回所有的City數據
		map.put("data",cities);
		return map;
	}
8.效果圖如下



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章