function eCharts(id, ..._echarts 饼图 js">
赞
踩
1.前台(具体配置参考网上)
https://www.cnblogs.com/benmumu/p/8316652.html
<body> <div id="productState" class="echarts-left" name="产品运营状态"></div> </body> function eCharts(id, echartData, seriesName) { // 基于准备好的dom,初始化echarts实例 var eChart = echarts.init(document.getElementById(id)); var eChartName = $('#' + id).attr("name");//这个是公用方法,所以id根据不同的值取不同属性 // 指定图表的配置项和数据 option = { title: { text: eChartName, // 标题 subtext: '', // 副标题 x: 'center' }, tooltip: { //这个是鼠标放置在图上时显示的内容 trigger: 'item', formatter: '{b} ({d}%)', // {a}(系列名称),{b}(数据项名称),{c}(数值), // {d}(百分比) 百分比会根据数值自动算出 backgroundColor: 'rgba(255,255,255,0.8)', // 通过设置rgba调节背景颜色与透明度 textStyle: { color: 'rgba(77,77,77,1)', } }, color: ['#FC7011', '#FFC89B', '#FFAD6B', '#FF8933'],//饼图支持的四种色系 legend: { //这个是图例,就是在图旁边显示不同颜色代表的东西 data: ["总数", "已解决", "未解决"],//这里是传入的数组,或者通过formatter自定义返回格式 formatter:function (name){ //跟data只能写一个 for(var i =0;;i<echartData.length;i++){ if(name==echartData[i].name){ return name +'('+echartData[i].value+')' } } } icon: "circle", // 这个字段控制形状 类型包括 circle,rect ,roundRect,triangle, diamond,pin,arrow,none itemWidth: 10, // 设置宽度 itemHeight: 10, // 设置高度 itemGap: 40 // 设置间距 }, series: [{ name: seriesName, type: 'pie', //选定echarts要展示的图形类型,这里是饼图,还可以是柱状等 radius: '60%',//饼图大小 center: ['50%', '60%'], data: echartData, //此处传json数组, eg:[ {type: 'max', name: '最大值'}, {type: 'min', name: '最小值'} ] itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } }, label: { normal:{ show:true, formatter: '{b}({c})({d}%) \n ',//此处n调整的表示空行,一个n能够使得文字处于横线上方 padding:[0,-70]/调整文字和横线横向的距离远近,一个padding一个空行n就能使得文字在横线上方,如果块比较小,可以避免文字里的太近 } }, lableLine:{//调整折线前后的长短 normal:{ length:20, lenghth2:30 } } }] }; // 使用刚指定的配置项和数据显示图表。 eChart.setOption(option); // 下钻事件,能下钻的通过系列名称来判断下钻 function clickFunc(param) { if (param.seriesName === '产品状态') { $('#productState').attr("name", "产品类型分类-" + param.name+"("+param.value+")"); orgToProductType(param.data.code, param.data.name); } } // 绑定下钻事件,echarts数据系列已经开启了点击事件,只是需要自己绑定而已 eChart.on("click", clickFunc); } //请求后台数据之后,调用echarts()方法展示 Ext.Ajax.request({ method: 'POST', url: todoPath+"homePageData/productGroupPie.ctrl", success: function (data) { // 转化完之后是数组 var list = JSON.parse(data.responseText); if(list.length>0){ eCharts('autoTaskResult',list,'产品组') }
2.后台风筝json数组
List<Object[]> list = hp.listProductIdsForStatus(status, unit,date);
Map<String,String> map = null;
List<Map<String,String>> maplist = new ArrayList<Map<String,String>>();
for (Object[] objects : list) {
map = new HashMap<String,String>();
map.put("name", String.valueOf(objects[0]));
map.put("value", String.valueOf(objects[1]));
maplist.add(map);
}
AJAXUtil.success(response, JSONUtil.toJson(maplist));
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。