echars饼图动态赋值并给饼图添加联动事件
来源:互联网 发布:linux 删除文件内容 编辑:程序博客网 时间:2024/06/02 02:23
在给echars饼图赋值数据data的同时,我们需要知道它所需要的诗句格式是什么样的,饼图与玫瑰图的数据格式都为key-value,即Map<String,Object>这样的数据格式,下面我们看看具体代码,之后我做具体说明
这一行是初始化echars图表对象,这就不多说了,看重点
var departmentRes = echarts.init(document.getElementById('department_res'));option = { toolbox: { feature: { dataView: {show: true, readOnly: false}, magicType: {show: true}, restore: {show: true}, myTool : { show : true, title : '自定义扩展方法', icon : 'image://http://echarts.baidu.com/images/favicon.png', onclick : function (){ pieToLine(); } }, saveAsImage: {show: true} } }, tooltip : { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" }, visualMap: { show: false, min: 80, max: 600, inRange: { colorLightness: [0, 1] } }, series : [ { name:'访问来源', type:'pie', radius : '70%', center: ['50%', '50%'], data:[ // series中的data数据清空删除掉,因为我们要动态赋值 ].sort(function (a, b) { return a.value - b.value}), roseType: 'angle', label: { normal: { textStyle: { } } }, labelLine: { normal: { smooth: 0.2, length: 10, length2: 20 } }, itemStyle: { normal: { color: '#c23531',//每块元素的颜色 shadowBlur: 20,//阴影模糊程度 shadowColor: 'rgba(0, 0, 0, 0.5)'//阴影的颜色 } } } ]};// 使用刚指定的配置项和数据显示图表。departmentRes.setOption(option);//查询,我这是点击按钮或者onload的时候调用方法显示图表function loadDrugs() {var date = $("#time2").val(); $.post('$!{urlTool.getResourcePoolDataURL('DEPARTMENT_RES_PIE')}', {date: date // 后台controller需要查询条件,所以需要}, function(data) {var array = []; //这就是我们所需要的data数据数组了,var colors = [];if (departmentRes){// 清空当前实例,会移除实例中所有的组件和图表。清空后调用 getOption 方法返回一个{}空对象。departmentRes.clear();}var data = eval('(' + data + ')');for(var i=0;i<data.length;i++){var departmentPublish ={}; // 先来创建一个js对象 departmentPublish.name = data[i].deptName; // 我们给这个对象名字,name 为饼图的name departmentPublish.value = data[i].publishCount; // 我们给这个对象值,value为饼图的valuedepartmentPublish.id=data[i].deptId; // 此id值会在图表显示,但是如果你要做事件的话可以用到array[i] = departmentPublish;//colors[i] = "rgb(" + (12*i+5) + "," + (15*i+10) + "," + (18*i+15) + ")";} option.series[0].data = array;// 赋值结束//option.color = colors; departmentRes.setOption(option);})$("#time2").val(date);}下面来说说联动事件是怎么做的
// 图表点击事件departmentRes.on('click',function(param){//param可以获取一些图中信息, param.dataIndex是第几个的意思var index = param.dataIndex;var pieId = option.series[0].data[index].id;// 这时就用到了上面所说的Id属性了var flag = true;$.ajax({async: false,type: "post",url: "$!{urlTool.getResourcePoolDataURL('OWN_THREE_DEPARTMENT')}",dataType: "json",success: function(data){if(data == "pass"){var date = $("#time2").val();var ifr = document.getElementById('mainframe4'); // 此为父页面中的iframe框页面重定向刷新ifr.src = "$!{urlTool.getResourcePoolDataURL('DEPART_RES_RANKE_IFRAME')}" +"?date=" + date + "&departmentId=" + pieId; }else{ // 返回信息 var result = typeof data == "object" ? data : eval('(' + data + ')'); result.forEach(function(e){ if(e.id == pieId){ flag = false; var date = $("#time2").val(); var ifr = document.getElementById('mainframe4'); ifr.src = "$!{urlTool.getResourcePoolDataURL('DEPART_RES_RANKE_IFRAME')}" +"?date=" + date + "&departmentId=" + pieId; } }); if(flag){ $.popDialog.warning("该部门不是您所管辖的部门!"); }}},error:function(){$.popDialog.error("程序发生错误,请联系技术人员!");}});});
下面来看看后台返回到前台的数据格式List<map<string,object>>转json
"[{\"deptName\":\"测试部\",\"publishCount\":128,\"deptId\":\"44\"},{\"deptName\":\"板材事业部\",\"publishCount\":339,\"deptId\":\"461\"},{\"deptName\":\"武汉交易中心\",\"publishCount\":8,\"deptId\":\"475\"},{\"deptName\":\"POP产品研发部\",\"publishCount\":752,\"deptId\":\"721\"}]"
学会了吗,学会的留个脚印评论以下。
1 0
- echars饼图动态赋值并给饼图添加联动事件
- EChars添加click事件
- jquery结合js实现动态添加内容,并给动态添加的内容添加事件
- EChars显示labelLine;添加点击事件
- 给已经有数据的表动态添加一列并赋值一个相同的值
- 给动态控件添加事件
- 动态添加控件,给控件赋值
- echarts 饼图动态赋值
- 动态-JS实现给对象动态添加属性并赋值 及 实现AJAX data传递动态key键名
- 动态创建元素并给元素添加带有回调函数的动态事件
- echart 饼图处理 数据格式化 option动态赋值 点击事件处理
- Echarts 饼图处理 option动态赋值 点击事件 一级钻取 自定义按钮 数据格式化
- 动态添加控件并添加事件
- js动态给对象onclick事件赋值,动态传参数
- android:动态创建多个按钮 并给每个按键添加监听事件
- 【Android开发学习30】动态创建多个按钮,并给每个按键添加监听事件
- android:动态创建多个按钮 并给每个按键添加监听事件
- js动态添加input按钮并给按钮增加onclick的函数事件带参数
- 搭建基于Spring Cloud的微服务注册中心
- 用Java判断一个URL是否有效的两种方法
- 第十二周项目4--利用遍历思想求解图问题2
- Swift3.0中文教程:23.泛型
- 第十二周项目2-操作用邻接表存储的图
- echars饼图动态赋值并给饼图添加联动事件
- 第十六周项目三--归并排序算法的改进
- Leetcode 之 Find All Anagrams in a String
- android studio 开启时候变快
- OpenCV学习笔记(十三)边缘检测
- linux下centOS系统让tomcat以service方式运行
- 第十五周项目一(7)归并排序
- 第十六周项目三—— 归并排序算法的改进
- WIN7和Ubuntu双系统,Ubuntu正常,WIN7有问题