在Java中使用Highcharts+Ajax+Json生成动态饼图
2016-05-31 22:03
741 查看
1.由于HighCharts运行于JQuery,所以需要引入jQuery。 jquery-1.8.3.min
HighCharts核心js文件 highcharts.js
导出功能需要引入的js exporting.js
完整文件 Highcharts-4.2.5
2.在jsp页面引入如上文件
4.Controller代码
返回数据样例
4.请求Controller,网页显示如下:
HighCharts核心js文件 highcharts.js
导出功能需要引入的js exporting.js
完整文件 Highcharts-4.2.5
2.在jsp页面引入如上文件
<script type="text/javascript"> var chart; $(function () { $(document).ready(function() { chart = new Highcharts.Chart({ chart: { renderTo: 'container', plotBackgroundColor: null, plotBorderWidth: null, plotShadow: false },title: { text: '教师绩效分析图' }, tooltip: { pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>' }, plotOptions: { pie: { allowPointSelect: true, cursor: 'pointer', dataLabels: { enabled: true, color: '#000000', connectorColor: '#000000', format: '<b>{point.name}</b>: {point.percentage:.1f} %' }, showInLegend: true } }, series: [{ type: 'pie', name: '所占比例', }] }); }); //调用查询,加载数据 chaxun(); }); function chaxun(){ var arr = []; var param = $('#groupS').val(); if($('#departmentS').val()!="全部"){ param += "&department="+$('#departmentS').val(); } if($('#typeS').val()!="全部"){ param += "&type="+$('#typeS').val(); } $.ajax({ type:'get', url:'/SX2/WorkloadAnalysis/getData?group='+param,//请求数据的地址 beforeSend:function(XMLHttpRequest){ $('#loading').show(); $('#contentDIV').hide(); $('#loading').html("<img src='<%=path%>/image/loading.gif' />"); }, success: function(data){ $('#contentDIV').show(); $('#loading').hide(); $(data.data).each(function(index,item){ arr.push([item.name,item.num]); }); chart.series[0].setData(arr);//数据填充到highcharts上面 }, error:function(e){ alert("不好意思,请要访问的图标跑到火星去了。。。。"); } }); }; </script>
4.Controller代码
@RequestMapping("getData") @ResponseBody public Map<String,Object> getData(Integer department,Integer group,String type){ Map<String,Object> map = new HashMap<String,Object>(); map.put("title", "教师绩效考核结果分析"); HashMap<String,Object> param = new HashMap<>(); param.put("department", department); param.put("group", group); param.put("type", type); List<Map<String,Object>> list = ws.selectWorkloadAnalysis(param); map.put("data",list); return map; }
返回数据样例
{"title":"教师绩效考核结果分析","data":[{"num":0,"name":"0-20分"},{"num":1,"name":"21-40分"},{"num":0,"name":"41-60分"},{"num":0,"name":"61-80分"},{"num":0,"name":"81-100分"}]}
4.请求Controller,网页显示如下:
相关文章推荐
- 【Java基础一】String创建对象"" && null
- Retrofit结合RxJava的一次实践
- java依赖注入的学习
- [疯狂Java]集合:IdentityHashMap、EnumMap
- java的单例设计模式
- 【java集合一】根接口Collection、Map
- Spring AOP 最终版实现
- Java IO - FileReader&FileWriter
- Java使用ThreadFactory来创建新的线程
- Spring事务的隔离级别
- java之用户登录界面
- 编程之美1.15构造数独---置换法java版
- Spring
- 学习java中的单例模式(Singleton)
- Java IO - PushbackInputStream&PushbackReader
- Java集合类框架—Collection、迭代器
- 转载:java反射机制详解
- Java中自定义注解
- 华为机试---查找两个字符串a,b中的最长公共子串
- Java:单例模式的七种写法