ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用Vue+echars+Java后端数据生成饼状图

2020-03-05 17:44:04  阅读:666  来源: 互联网

标签:echars Vue Java idList var getData data id


效果图:
效果
后端controller代码:

//图表
    @AuthIgnore
    @PostMapping("getData")
    public R getData() {
    	long[] idList= {3L,4L,5L,6L,7L};
    	List<Long> id=new ArrayList<Long>();
    	for (int i = 0; i < idList.length; i++) {
			id.add(idList[i]);
		}
    	List<TbUser> userList=userService.selectBatchIds(id);
    	return R.ok().put("data",userList);
    }

注意:上面代码中的 3L,4L,5L,6L,7L,对应的是数据库中的ID

HTML代码:

这里引用的都是本地下载好的包
还可以引用网上的

<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>第一个 ECharts 实例</title>
    <!-- 引入 echarts.js -->
    <!-- <script src="https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js"></script> -->
    <script src="../../libs/echarts.min.js"></script>
    <script src="../../libs/jquery.min.js"></script>
    <script src="../../libs/vue.min.js"></script>
</head>
<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="width: 600px;height:400px;"></div>
    <script type="text/javascript">
    
    //Vue
    	var vm=new Vue({
    		el:"#main",
    		data:{
    			dat:[
    				{value:274, name:'联盟广告'},
                    {value:310, name:'邮件营销'},
    			],
    		},
    		methods:{	//自定义方法
    			getData:function(){
    				$.post("http://localhost:8081/jeefast-rest/api/getData",{},function(data){
    					//alert(JSON.stringify(data));
    					var data=data.data;
    					var len=data.length;
    				//	alert(len);
    					vm.dat=[]	//先清空
    					for(var i=0;i<len;i++){
    						var info={};
    						info.name=data[i].username;
    						info.value=data[i].mobile;
    						vm.dat.push(info);	//把info里面的数据追加到data里
    					}
    				//	alert(JSON.stringify(vm.dat));
    				
    				// 基于准备好的dom,初始化echarts实例
				        var myChart = echarts.init(document.getElementById('main'));
				 
				        myChart.setOption({
				            series : [
				                {
				                    name: '访问来源',
				                    type: 'pie',    // 设置图表类型为饼图
				                    radius: '55%',  // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
				                    data: vm.dat         // 数据数组,name 为数据项名称,value 为数据项值
				                        
				                }
				            ]
				        })
				        
    				});
    			}
    		},
    		mounted(){		//自动调用里面的方法
    			this.getData();
    			this.timer = setInterval(this.getData, 3000);//定时器,每3秒执行一次
    		}
    		
    	});
    
    
    </script>
</body>
</html>

标签:echars,Vue,Java,idList,var,getData,data,id
来源: https://blog.csdn.net/weixin_45777544/article/details/104678955

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有