echarts2.2.7动态数据填充

项目结构:


1.柱状图

jsp代码:

// 路径配置
        require.config({
            paths: {
                echarts: 'echarts'
            }
        });
        
        // 使用
        require(
            [
                'echarts',
                'echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载
            ],
            function (ec) {
                // 基于准备好的dom,初始化echarts图表
                var myChart = ec.init(document.getElementById('main')); 
                
                 var option = {
                    tooltip: {
                        show: true
                    },
                    legend: {
                        data:['销量']
                    },
                    xAxis : [
                        {
                            type : 'category',
                            data : ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
                        }
                    ],
                    yAxis : [
                        {
                            type : 'value'
                        }
                    ],
	             series : [
	                 {
	                     "name":"销量",
	                     "type":"bar",
	                     "data":(function(){  
			var arrY=[];  
			$.ajax({
				url : "barServlet",//要提交的URL路径
				async : false, //同步执行  异步无法实现自动填充
				type : "post",      //发送请求的方式
				data :{},
				dataType : "json",    //指定传输的数据格式
				success : function(result) {//请求成功后要执行的代码
					$.each(result,function(index,item){
						arrY.push(item);
					});
				}
			});
			return arrY;  
			})()//此处多加一对()	
	                 }
	             ]
                };
        
                // 为echarts对象加载数据 
                myChart.setOption(option); 
            }
        );


后台代码

request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		List list = new ArrayList();
		list.add(10);
		list.add(5);
		list.add(5);
		list.add(8);
		list.add(7);
		list.add(3);
		JSONArray json = JSONArray.fromObject(list);
		response.getWriter().print(json);

2.饼状图

jsp代码

// 路径配置
        require.config({
            paths: {
                echarts: 'echarts'
            }
        });
        
        // 使用
        require(
            [
                'echarts',
                'echarts/chart/pie' // 使用柱状图就加载bar模块,按需加载
            ],
            function (ec) {
                // 基于准备好的dom,初始化echarts图表
                var myChart = ec.init(document.getElementById('main')); 
                
                option = {
				    title : {
				        text: '某站点用户访问来源',
				        subtext: '纯属虚构',
				        x:'center'
				    },
				    tooltip : {
				        trigger: 'item',
				        formatter: "{a} <br/>{b} : {c} ({d}%)"
				    },
				    legend: {
				        orient : 'vertical',
				        x : 'left',
			        data:(function(){
	            		var arrY=[];  
				$.ajax({
					url : "pieServlet",//要提交的URL路径
					async : false, //同步执行  异步无法实现自动填充
					type : "post",      //发送请求的方式
					data :{},
					dataType : "json",    //指定传输的数据格式
					success : function(result) {//请求成功后要执行的代码
						$.each(result,function(index,item){
							arrY.push(result[index].name);
						});
					}
				});
				return arrY; 
			            })()
				    },
				    toolbox: {
				        show : true,
				        feature : {
				            mark : {show: true},
				            dataView : {show: true, readOnly: false},
				            magicType : {
				                show: true, 
				                type: ['pie', 'funnel'],
				                option: {
				                    funnel: {
				                        x: '25%',
				                        width: '50%',
				                        funnelAlign: 'left',
				                        max: 1548
				                    }
				                }
				            },
				            restore : {show: true},
				            saveAsImage : {show: true}
				        }
				    },
				    calculable : true,
				    series : [
				        {
				            name:'访问来源',
				            type:'pie',
				            radius : '55%',
				            center: ['50%', '60%'],
		            data:(function(){
	            				var arrY=[];  
						$.ajax({
							url : "pieServlet",//要提交的URL路径
							async : false, //同步执行  异步无法实现自动填充
							type : "post",      //发送请求的方式
							data :{},
							dataType : "json",    //指定传输的数据格式
							success : function(result) {//请求成功后要执行的代码
								$.each(result,function(index,item){
									arrY.push({name:result[index].name,value:result[index].value});
								});
							}
						});
						return arrY; 
		           	 })()
				        }
				    ]
				};
        
                // 为echarts对象加载数据 
                myChart.setOption(option); 
            }
        );

后台代码

		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		Model m1 = new Model("直接访问",335);
		Model m2 = new Model("邮件营销",335);
		Model m3 = new Model("联盟广告",335);
		Model m4 = new Model("视频广告",335);
		Model m5 = new Model("音乐广告",335);
		List list = new ArrayList();
		list.add(m1);
		list.add(m2);
		list.add(m3);
		list.add(m4);
		list.add(m5);
		JSONArray json = JSONArray.fromObject(list);
		response.getWriter().print(json);

效果图



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郝文龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值