1、单个学生成绩分析Action:
/** * @功能:单个学生成绩分析 * @作者: smile * @时间:2013-1-15 下午2:23:21 * @版本:1.0 */ public class StudentScoreAnalyseAction extends AbstractAction { // 成绩单分数id private int eduScoreListId; // 成绩单id private int eduExamInfoId; // 成绩单科目 private String subjectName; // 学生id private String userid; // 学生姓名 private String userName; // 成绩单科目集合 private List<EduExam> EduExamList; // 最高分 private String maxScore; // 最低分 private String minScore; // 平均分 private String averageScore; // 子女得分 private String score; // 此次考试参加学生数 private int studentNum; // 1:总分分析 2:单个科目分析 private int flag; // 班级id private String classId; protected String go() throws Exception { ScoreManageSrevice scoreManageService = (ScoreManageSrevice) this.getBean("scoreManageSrevice"); EduExamList = scoreManageService.getSubjectByExamInfoId(eduExamInfoId); userName = java.net.URLDecoder.decode(userName, "UTF-8"); classId = scoreManageService.getClassIdByEduExamInfoId(eduExamInfoId); if (flag == 1 || flag == 3) {// 总数分析 // 统计最高分 maxScore = scoreManageService.getMaxScore(eduExamInfoId); // 统计最低分 minScore = scoreManageService.getMinScore(eduExamInfoId); // 统计子女得分 score = scoreManageService.getStudentScore(eduExamInfoId, userid); // 统计平均得分 averageScore = scoreManageService.getAverageScore(eduExamInfoId); // 统计人数 studentNum = scoreManageService.getStudentNum(eduExamInfoId); if (flag == 3) { return "success"; } return "input"; } else if (flag == 2) {// 单个科目分析 if (subjectName != null && !"".equals(subjectName)) { subjectName = java.net.URLDecoder.decode(subjectName, "UTF-8"); // 统计该科目最高分 maxScore = scoreManageService.getSubjectMaxScore(eduExamInfoId, subjectName); // 统计该科目最低分 minScore = scoreManageService.getSubjectMinScore(eduExamInfoId, subjectName); // 统计该用户userId 该科目subjectName的得分 score = scoreManageService.getSubjectStudentScore(eduExamInfoId, subjectName, userid); // 统计该科目平均分 averageScore = scoreManageService.getSubjectAverageScore(eduExamInfoId, subjectName); // 统计参加考试人数 studentNum = scoreManageService.getStudentNum(eduExamInfoId); return "success"; } } return null; } 省略get... set.... }
2、xml配置:
<!-- 单个学生成绩分析 --> <action name="studentScoreAnalyse" class="jxq.xxt.scoremanage.action.StudentScoreAnalyseAction"> <result name="input" type="freemarker">/scoremanage/studentScoreAnalyse_index.ftl</result> <result name="success" type="json"></result> </action>
3、页面:
$(document).ready(function(){ <!--当第一次进来页面 显示总分--> if(${flag}==1){ var chart; var chartData = [ { category:'最高分', score:'${maxScore}', color: "#FF0F00" }, { category:'最低分', score:'${minScore}', color: "#88003B" }, { category:'平均分', score:'${averageScore}', color : "#FF4D34" }, { category:'${userName}分数', score:'${score}', color : "#0081AC" } ]; AmCharts.ready(function(){ chart = new AmCharts.AmSerialChart(); chart.dataProvider = chartData; chart.categoryField = "category"; <!--the following two lines makes chart 3D--> chart.depth3D = 20; chart.angle = 30; <!--字体大小--> chart.fontSize = 13; chart.startDuration = 1; chart.columnWidth = 0.4; <!--category--> var categoryAxis = chart.categoryAxis; <!--横轴文字角度 0为水平显示 90为竖直显示 默认90--> categoryAxis.labelRotation = 0; categoryAxis.dashLength = 5; categoryAxis.gridPosition = "start"; <!--横轴字体大小--> categoryAxis.fontSize = 13; <!--横轴上下偏移量--> categoryAxis.offset = 0; <!--横轴字刻线长度 无太大作用--> categoryAxis.tickLength = 8; <!--竖性网格线--> categoryAxis.gridAlpha = 0; <!--value--> var valueAxis = new AmCharts.ValueAxis(); valueAxis.dashLength = 5; <!--竖轴的厚度 没太大用处--> valueAxis.axisThickness = 1; valueAxis.gridAlpha = 0; chart.addValueAxis(valueAxis); <!--GRAPH--> var graph = new AmCharts.AmGraph(); graph.valueField = "score"; graph.colorField = "color"; graph.balloonText = "[[category]]: [[score]]"; graph.type = "column"; graph.lineAlpha = 0; graph.fillAlphas = 1; graph.lineThickness = 1; chart.addGraph(graph); <!--WRITE--> chart.write("chartdiv"); }); } }); </script> <div id="chartdiv" style="width: 100%; height: 500px;"></div>
4:、柱形图:
5、学生分数趋势分析:
/** *@功能:单个学生多次成绩趋势分析 *@作者: smile *@时间:2013-1-16 下午5:42:20 *@版本:1.0 */ public class StudentScoreMemoryAnalyseAction extends AbstractAction { private static final long serialVersionUID = 1L; // 学生id private String userid; // 学生姓名 private String userName; // 学生姓名 private String name; // 存放学生总分 数组 private List<TrendAnalyseBean> score; protected String go() throws Exception { ScoreManageSrevice scoreManageService = (ScoreManageSrevice) this.getBean("scoreManageSrevice"); name = java.net.URLDecoder.decode(userName, "UTF-8"); score = scoreManageService.getStudentScore(userid); return "success"; } public String input(){ return "input"; } }
6、页面:
$(document).ready(function(){ $.getJSON( "../scoremanage/studentScoreTrendAnalyse.action", {"userid":${userid},"userName":'${userName}',"number":Math.random()}, function(json){ var chart; var chartData = []; for(var i = 0;i<json.score.length;i++){ var data = { "title":json.score[i].examTitle, "score":json.score[i].score, "average":json.score[i].averageScore }; chartData.push(data); } chart = new AmCharts.AmSerialChart(); chart.dataProvider = chartData; chart.categoryField = "title"; chart.startDuration = 0.5; chart.fontSize = 13; chart.fontFamily = "微软雅黑"; chart.balloon.color = "#000000"; var categoryAxis = chart.categoryAxis; categoryAxis.dashLength = 1; categoryAxis.gridAlpha = 0.15; categoryAxis.labelRotation = 40; categoryAxis.axisColor = "#DADADA"; var valueAxis = new AmCharts.ValueAxis(); valueAxis.axisColor = "#DADADA"; valueAxis.dashLength = 1; valueAxis.logarithmic = false; chart.addValueAxis(valueAxis); var graph = new AmCharts.AmGraph(); graph.title = json.name+"考试成绩"; graph.valueField = "score"; graph.type = "smoothedLine"; graph.bullet = "bubble"; graph.bulletColor = "#FFFFFF"; graph.bulletBorderColor = "#00BBCC"; graph.bulletBorderThickness = 1; graph.bulletSize = 8; graph.balloonText = json.name+"总分为:[[score]]"; graph.lineThickness = 2; graph.lineColor = "#00BBCC"; chart.addGraph(graph); var graph = new AmCharts.AmGraph(); graph.title = "班级平均分成绩"; graph.type = "smoothedLine"; graph.bullet = "bubble"; graph.bulletColor = "#FFFFFF"; graph.bulletBorderColor = "#00BBCC"; graph.bulletBorderThickness = 1; graph.bulletSize = 8; graph.balloonText = "班级平均分为:[[average]]"; graph.valueField = "average"; graph.lineThickness = 2; graph.lineColor = "#F45B00"; chart.addGraph(graph); var chartCursor = new AmCharts.ChartCursor(); chartCursor.cursorPosition = "middle"; chartCursor.cursorColor = "#D40600"; chartCursor.bulletSize = 8; chart.addChartCursor(chartCursor); var legend = new AmCharts.AmLegend(); legend.markerType = "circle"; chart.addLegend(legend); chart.write("chartdiv"); } ); }); <div id="chartdiv" style="width: 100%; height: 500px"></div>
7、线形图:
8、班级成绩分析:
/** * @功能:班级成绩分析 * @作者: smile * @时间:2013-1-17 下午2:44:01 * @版本:1.0 */ public class ClassScoreAnalyseAction extends AbstractAction { private static final long serialVersionUID = 1L; // 成绩单id private String examId; // 成绩单科目集合 private List<EduExam> EduExamList; // 科目名 private String subjectName; // 优秀人数 private int excellentCount; // 良好人数 private int goodCount; // 及格人数 private int passCount; // 不及格人数 private int unpassCount; // 科目总数 private String maxScore; protected String go() throws Exception { ScoreManageSrevice scoreManageService = (ScoreManageSrevice) this.getBean("scoreManageSrevice"); EduExamList = scoreManageService.getSubjectByExamInfoId(Integer.valueOf(examId)); return "success"; } public String input() throws Exception { ScoreManageSrevice scoreManageService = (ScoreManageSrevice) this.getBean("scoreManageSrevice"); subjectName = java.net.URLDecoder.decode(subjectName, "UTF-8"); if (subjectName.equals("-1")) {// 总成绩分析 // 统计总成绩的优秀人数 excellentCount = scoreManageService.getSumCount(subjectName, examId, maxScore, 0.8, 1); // 统计总成绩的良好人数 goodCount = scoreManageService.getSumCount(subjectName, examId, maxScore, 0.7, 0.8); // 统计总成绩的及格人数 passCount = scoreManageService.getSumCount(subjectName, examId, maxScore, 0.6, 0.7); // 统计总成绩的不及格人数 unpassCount = scoreManageService.getSumCount(subjectName, examId, maxScore, 0, 0.6); } else { // 统计该科目的优秀人数 excellentCount = scoreManageService.getCount(subjectName, examId, maxScore, 0.8, 1); // 统计该科目的良好人数 goodCount = scoreManageService.getCount(subjectName, examId, maxScore, 0.7, 0.8); // 统计该科目的及格人数 passCount = scoreManageService.getCount(subjectName, examId, maxScore, 0.6, 0.7); // 统计该科目的不及格人数 unpassCount = scoreManageService.getCount(subjectName, examId, maxScore, 0, 0.6); } return "input"; } }
9、页面:
//班级成绩分析科目分析 function classScoreInfoAnalyse(){ //取出隐藏域中的成绩单Id var examId = $("#examId").val(); //判断输入框总分是否为正整数 var regx = /^([1-9]\d*)$/; if(!regx.test($("#scoreSum").val())){ alert("输入的总分不是正整数!"); return false; } //总分 var maxScore = $("#scoreSum").val(); //当前选中需要分析的科目名 var subjectName = $("#myCjfx_tit .current a").attr("value"); subjectName = encodeURI(subjectName); $.getJSON( "../scoremanage/classScoreAnalyse!input.action", {"examId":examId,"subjectName":subjectName,"maxScore":maxScore,"number":Math.random()}, function(json){ var chart; var chartData = [ { category: "优秀", count: json.excellentCount, color:"#FF4D1C" }, { category: "良好", count: json.goodCount, color:"#20B3FF" }, { category: "及格", count: json.passCount, color:"#007EA8" }, { category: "不及格", count: json.unpassCount, color:"#88003B" } ]; $("#chartdiv").html(""); // 创建饼图 chart = new AmCharts.AmPieChart(); // 饼图标题 文字大小 // chart.addTitle(json.subjectName+"成绩分析", 13); // 数据提供方 chart.dataProvider = chartData; // 切片属性 chart.titleField = "category"; // 切片值 chart.valueField = "count"; // 切片颜色 chart.colorField = "color"; // 动画 chart.sequencedAnimation = true; // 动画效果 ">", "<", "elastic" and "bounce". chart.startEffect = "elastic"; // 内半径 chart.innerRadius = "30%"; // 动画持续时间 chart.startDuration = 1; // 文字与饼图之间的距离 chart.labelRadius = 45; // 饼图深度 chart.depth3D = 16; // 饼图倾斜角度 chart.angle = 35; // 字体大小 chart.fontSize = 13; // 字体类型 chart.fontFamily = "微软雅黑"; // 显示各个分类 legend = new AmCharts.AmLegend(); // 对齐方式 有三种:"left", "center", "right" legend.align = "center"; // 分类标记图 这里设置成方块形状 legend.markerType = "square"; chart.addLegend(legend); // WRITE chart.write("chartdiv"); } ); return true; } <div id="chartdiv" style="width: 100%; height: 500px;"></div>
10、饼图:
相关推荐
在ASP中,柱饼线统计图、柱形图、线形图和饼图是常见的数据可视化工具,它们有助于将复杂的数据以易于理解的方式呈现出来。 柱形图是一种常用的数据表示方法,它使用垂直或水平的柱子来表示不同类别的数据量。在ASP...
C# amcharts 破解版本 各种饼图 股票 K线图 划线图C# amcharts 破解版本 各种饼图 股票 K线图 划线图
amcharts 破解,饼图和线,2013-01-25最新破解!!
例如,对于饼图和柱状图,我们需要引入`amcharts3.js`、`amcharts/pie.js`和`amcharts/column.js`。这些文件可以通过CDN或者下载后本地引用。 接下来,我们讨论饼图的创建。饼图是一种常用来展示数据比例关系的图表...
amCharts是一款强大的JavaScript图表库,它为Web开发者提供了丰富的数据可视化解决方案。在ASP.NET开发环境中,amCharts可以轻松地集成到项目中,帮助开发者创建出交互式、动态且美观的数据图表,以直观地展示复杂...
AmCharts的JavaScript版本允许开发者在网页上创建动态、响应式的图表,支持多种图表类型,如柱状图、线图、饼图、雷达图、散点图、热力图等。这些图表能够通过鼠标悬停、点击等交互方式提供详细信息,提升用户对...
这个"Amcharts js版"是AmCharts专门为JavaScript环境设计的版本,适用于网页和其他基于JavaScript的应用程序。AmCharts支持多种类型的图表,如柱状图、折线图、饼图、散点图等,提供丰富的自定义选项,使开发者能够...
AMCharts是一款强大的JavaScript图表库,它能够创建交互式的、视觉效果丰富的图表,包括饼图、柱状图、线图等多种类型。在这个“AMCharts Ajax json net饼图代码”示例中,我们将探讨如何在.NET环境下,通过Ajax技术...
amCharts 是一套用于创建交互式图表和地图的 JavaScript 库,支持多种图表类型,如柱状图、折线图、饼图、散点图等。它具有良好的可定制性,支持数据动态更新,以及响应式设计,能够适应不同屏幕尺寸的设备。 **二...
- 在客户端JavaScript中,解析数据并调用amcharts的API创建饼图实例。 5. **交互性与动态更新**: amcharts饼图支持动态更新,可以通过Ajax从服务器获取新数据,或者响应用户操作如点击、悬停等更新图表内容。 6. ...
我们一个小团队在一起利用amCharts为基础拓展的一个柱形图,具有高可用性,安全性,稳定性,分数贫瘠的同学可以到以下链接下载 http://hwak.iteye.com/blog/1297661 相关介绍也在那边,请各位多多指教。
AmCharts JS是一个功能强大的图表库,支持各种类型的图表,如折线图、柱状图、饼图等。使用AmCharts JS可以创建数据可视化图表,其提供了丰富的API来调整图表的各个方面,例如坐标轴、图例、图例项等。在本知识点中...
Amcharts是一组Flash图表,你可以免费使用在你的网站和基于网络的产品(非开源)。 Amcharts可以从简单的CSV或XML文件提取数据,也可以从动态数据读取生成,比如PHP, .NET, Ruby on Rails和Perl,以及其他许多编程...
amcharts是一款强大的JavaScript图表库,可以生成交互式的2D和3D图表,如柱状图、饼图、线图等。在这个实例中,SpringMVC被用作后端控制层,负责处理请求、与数据库交互并生成响应。SpringMVC是一个基于Spring框架的...
主要的库文件如`amcharts.js`、`serial.js`(序列图)、`pie.js`(饼图)等都在这里。这些文件提供了创建不同类型的图表所需的所有功能,包括地图、甘特图、组合图等。 7. **samples**:这个目录可能包含额外的示例...
AmCharts是一款功能强大的JavaScript图表库,它在2013年发布的2.11.1版本是其当时最新的更新,提供了丰富的图表类型和高度自定义的选项,深受开发者喜爱。这款图表控件允许用户轻松创建交互式、动态的图表,为数据...
本资源"3d饼图效果特效.zip"是关于使用JavaScript库AmCharts实现3D圆饼图的一种特效实现。AmCharts是一款强大的JavaScript图表库,它提供了多种图表类型,包括柱状图、线图、饼图等,并支持动画效果和自定义选项。 ...
AmCharts是一款强大的JavaScript图表库,它提供了丰富的图表类型和高度定制的功能,使得在Web应用中创建交互式、可视化数据变得轻而易举。这款库适用于各种项目,从简单的个人博客到复杂的商业数据分析平台。本文将...
AmCharts 是一个强大的JavaScript库,专门用于创建交互式的图表和地图。这个库广泛应用于数据可视化,包括折线图、柱状图和扇形图等多种类型的图表。在"amcharts js实现折线柱状扇形图统计"这个主题中,我们将深入...