Преглед на файлове

分段统计分段改为0.25一段

yin преди 1 година
родител
ревизия
bf03719799

+ 3 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/query/ReportSubjectQuery.java

@@ -35,7 +35,7 @@ public class ReportSubjectQuery extends BaseQuery<ReportSubject> {
 
     private String subjectCodeIn;
 
-    private Integer range;
+    private Double range;
 
     public Integer getExamId() {
         return examId;
@@ -133,11 +133,11 @@ public class ReportSubjectQuery extends BaseQuery<ReportSubject> {
         this.subjectCodeIn = subjectCodeIn;
     }
 
-    public Integer getRange() {
+    public Double getRange() {
         return range;
     }
 
-    public void setRange(Integer range) {
+    public void setRange(Double range) {
         this.range = range;
     }
 

+ 10 - 5
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/utils/module/SubjectRangeModule.java

@@ -5,7 +5,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import net.sf.json.JSONObject;
 import cn.com.qmth.stmms.biz.exam.dao.ExamStudentDao;
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 import cn.com.qmth.stmms.biz.report.model.ReportSubject;
@@ -16,6 +15,8 @@ import cn.com.qmth.stmms.biz.report.utils.Module;
 import cn.com.qmth.stmms.biz.report.utils.ReportContext;
 import cn.com.qmth.stmms.biz.report.utils.unit.RangeCounter;
 import cn.com.qmth.stmms.biz.utils.SpringContextHolder;
+import cn.com.qmth.stmms.common.utils.BigDecimalUtils;
+import net.sf.json.JSONObject;
 
 public class SubjectRangeModule implements Module {
 
@@ -28,6 +29,7 @@ public class SubjectRangeModule implements Module {
         this.context = context;
     }
 
+    @Override
     public void process(ExamStudent student) {
         if (student.isUpload() && !student.isAbsent() && !student.isBreach() && student.getSubject() != null) {
             findCounter(getKey(student)).process(student.getTotalScore());
@@ -38,6 +40,7 @@ public class SubjectRangeModule implements Module {
         return student.getSubjectCode();
     }
 
+    @Override
     public void save() {
         ReportSubjectRangeService service = SpringContextHolder.getBean(ReportSubjectRangeService.class);
         for (String subjectCode : this.counters.keySet()) {
@@ -76,14 +79,16 @@ public class SubjectRangeModule implements Module {
                     subjectCode, (int) highCount);
             List<BigDecimal> lowScore = studentDao.findLowCountTotalSocreByExamIdAndSubjectCode(context.getExamId(),
                     subjectCode, (int) lowCount);
-            rangeLevel.accumulate("highScore", highScore.isEmpty() ? 0 : highScore.get(highScore.size() - 1)
-                    .doubleValue());
+            rangeLevel.accumulate("highScore",
+                    highScore.isEmpty() ? 0 : highScore.get(highScore.size() - 1).doubleValue());
             rangeLevel.accumulate("lowScore", lowScore.isEmpty() ? 0 : lowScore.get(lowScore.size() - 1).doubleValue());
             subject.setRangeLevel(rangeLevel.toString());
 
             JSONObject scoreRange = new JSONObject();
-            for (int i = 0; i < subject.getTotalScore() + 1; i++) {
-                scoreRange.accumulate(String.valueOf(i), counter.countGeAndLt((double) i, (double) (i + 1)));
+            double rate = 0.25;
+            double length = BigDecimalUtils.div(subject.getTotalScore(), rate);
+            for (int i = 0; i < length + 1; i++) {
+                scoreRange.accumulate(String.valueOf(i * rate), counter.countGeAndLt(i * rate, (i + 1) * rate));
             }
             subject.setScoreRange(scoreRange.toString());
             subjectService.save(subject);

+ 34 - 39
stmms-web/src/main/java/cn/com/qmth/stmms/admin/report/ReportSubjectRangeController.java

@@ -2,18 +2,11 @@ package cn.com.qmth.stmms.admin.report;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -26,27 +19,19 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
+import com.qmth.boot.tools.io.ZipWriter;
+
 import cn.com.qmth.stmms.admin.exam.BaseExamController;
 import cn.com.qmth.stmms.admin.thread.ScoreReportThread;
 import cn.com.qmth.stmms.biz.exam.model.Exam;
 import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
-import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
-import cn.com.qmth.stmms.biz.exam.service.ExamService;
-import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
-import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
-import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
+import cn.com.qmth.stmms.biz.exam.service.*;
 import cn.com.qmth.stmms.biz.file.enums.FormatType;
 import cn.com.qmth.stmms.biz.file.service.FileService;
 import cn.com.qmth.stmms.biz.lock.LockService;
 import cn.com.qmth.stmms.biz.report.model.ReportSubject;
 import cn.com.qmth.stmms.biz.report.query.ReportSubjectQuery;
-import cn.com.qmth.stmms.biz.report.service.ReportService;
-import cn.com.qmth.stmms.biz.report.service.ReportSubjectClassService;
-import cn.com.qmth.stmms.biz.report.service.ReportSubjectCollegeService;
-import cn.com.qmth.stmms.biz.report.service.ReportSubjectGroupService;
-import cn.com.qmth.stmms.biz.report.service.ReportSubjectQuestionService;
-import cn.com.qmth.stmms.biz.report.service.ReportSubjectService;
-import cn.com.qmth.stmms.biz.report.service.ReportSubjectTeacherService;
+import cn.com.qmth.stmms.biz.report.service.*;
 import cn.com.qmth.stmms.common.annotation.Logging;
 import cn.com.qmth.stmms.common.annotation.RoleRequire;
 import cn.com.qmth.stmms.common.domain.WebUser;
@@ -55,8 +40,8 @@ import cn.com.qmth.stmms.common.enums.LogType;
 import cn.com.qmth.stmms.common.enums.Role;
 import cn.com.qmth.stmms.common.utils.Encodes;
 import cn.com.qmth.stmms.common.utils.RequestUtils;
-
-import com.qmth.boot.tools.io.ZipWriter;
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
 
 /**
  * 课程分段统计
@@ -126,12 +111,11 @@ public class ReportSubjectRangeController extends BaseExamController {
             ReportSubject subject = reportSubjectService.findOne(examId, query.getSubjectCode());
             if (subject != null && subject.getScoreRange() != null && subject.getTotalScore() != null
                     && subject.getRealityCount() != null) {
-                model.addAttribute(
-                        "total",
-                        getScoreRange(subject.getScoreRange(), subject.getTotalScore(), subject.getRealityCount(),
-                                query.getRange()));
+                model.addAttribute("total", getScoreRange(subject.getScoreRange(), subject.getTotalScore(),
+                        subject.getRealityCount(), query.getRange()));
             }
-            model.addAttribute("locked", lockService.isLocked(LockType.SCORE_CALCULATE, examId, query.getSubjectCode()));
+            model.addAttribute("locked",
+                    lockService.isLocked(LockType.SCORE_CALCULATE, examId, query.getSubjectCode()));
         }
         model.addAttribute("oldSubjectCode", query.getSubjectCode());
         model.addAttribute("subjectList", sList);
@@ -212,23 +196,23 @@ public class ReportSubjectRangeController extends BaseExamController {
             ScoreReportThread thread = new ScoreReportThread(map, reportService, false);
             taskExecutor.submit(thread);
         }
-        return "redirect:/admin/exam/reportSubjectRange?subjectCode=" + subjectCode + "&range=" + 10;
+        return "redirect:/admin/exam/reportSubjectRange?subjectCode=" + subjectCode;
     }
 
-    private JSONArray getScoreRange(String scoreRange, double totalScore, Integer totalCount, int range) {
+    private JSONArray getScoreRange(String scoreRange, double totalScore, Integer totalCount, double range) {
         JSONArray result = new JSONArray();
         JSONObject jsonObject = JSONObject.fromObject(scoreRange);
         int rangeCount = 0;
         int sumCount = 0;
         int total = (int) Math.ceil(totalScore / range);
         for (int i = total; i >= 0; i--) {
-            int start = i * range;
-            int end = (i + 1) * range;
+            double start = i * range;
+            double end = (i + 1) * range;
             if (start > totalScore) {
-                start = (int) Math.ceil(totalScore);
+                start = Math.ceil(totalScore);
             }
             if (end > totalScore) {
-                end = (int) Math.ceil(totalScore);
+                end = Math.ceil(totalScore);
             }
             if (end < 0) {
                 end = 0;
@@ -240,17 +224,28 @@ public class ReportSubjectRangeController extends BaseExamController {
         return result;
     }
 
-    private int getSumCount(JSONObject jsonObject, int start, int end) {
+    private int getSumCount(JSONObject jsonObject, double start, double end) {
         int sumCount = 0;
         int currentCount = 0;
+        double rate = 0.25;
         if (start < end) {
-            for (int i = start; i < end; i++) {
-                currentCount = jsonObject.getInt(String.valueOf(i));
+            // for (int i = start; i < end; i++) {
+            // currentCount = jsonObject.getInt(String.valueOf(i));
+            // sumCount = sumCount + currentCount;
+            // }
+            double length = (end - start) / rate;
+            for (int i = 0; i < length; i++) {
+                currentCount = jsonObject.getInt(String.valueOf(start + i * rate));
                 sumCount = sumCount + currentCount;
             }
         } else if (start > end) {
-            for (int i = end; i < start; i++) {
-                currentCount = jsonObject.getInt(String.valueOf(i));
+            // for (int i = end; i < start; i++) {
+            // currentCount = jsonObject.getInt(String.valueOf(i));
+            // sumCount = sumCount + currentCount;
+            // }
+            double length = (start - end) / rate;
+            for (int i = 0; i < length; i++) {
+                currentCount = jsonObject.getInt(String.valueOf(end + i * rate));
                 sumCount = sumCount + currentCount;
             }
         } else {
@@ -259,7 +254,7 @@ public class ReportSubjectRangeController extends BaseExamController {
         return sumCount;
     }
 
-    private JSONObject getRangeJson(Integer totalCount, int rangeCount, int sumCount, int score) {
+    private JSONObject getRangeJson(Integer totalCount, int rangeCount, int sumCount, double score) {
         JSONObject value = new JSONObject();
         value.accumulate("score", score);
         value.accumulate("rangeCount", rangeCount);

+ 155 - 135
stmms-web/src/main/webapp/WEB-INF/views/modules/report/reportSubjectRange.jsp

@@ -18,14 +18,20 @@
 <body>
 <ul class="nav nav-tabs">
     <li class="active"><a href="${ctx}/admin/exam/reportSubjectRange">分段统计</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}" data-i18n-text="report.college">电厂分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}" data-i18n-text="report.teacher">老师分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}" data-i18n-text="report.class">机组分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true" data-i18n-text="report.question.objective">客观题分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}"
+           data-i18n-text="report.college">电厂分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}"
+           data-i18n-text="report.teacher">老师分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}" data-i18n-text="report.class">机组分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false" data-i18n-text="report.question.subjective">主观题分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true"
+           data-i18n-text="report.question.objective">客观题分析</a>
+    </li>
+    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false"
+           data-i18n-text="report.question.subjective">主观题分析</a>
+    </li>
+    <li><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}" data-i18n-text="report.group">分组统计分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}" data-i18n-text="report.group">分组统计分析</a></li>
 </ul>
 <form id="searchForm" action="${ctx}/admin/exam/reportSubjectRange" method="post" class="breadcrumb form-search">
     <input type="hidden" id="pageNumber" name="pageNumber" value="${query.pageNumber }"/>
@@ -38,39 +44,44 @@
                         <c:if test="${query.subjectCode eq subject.code }">selected</c:if>>${subject.code}-${subject.name}</option>
             </c:forEach>
         </select>
-		 &nbsp;
-		<label>分数间隔</label>
-        <select class="input-large" name="range">
-                <option value="10" <c:if test="${query.range ==10 }">selected</c:if>>十分一段</option>
-                 <option value="5" <c:if test="${query.range ==5 }">selected</c:if>>五分一段</option>
-        </select>
         &nbsp;
-        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()" data-i18n-value="report.group.search"/>
-		<c:if test="${query.subjectCode!=null && oldSubjectCode!=null}">
-		<a id="refresh" href="<c:if test="${locked}">#</c:if><c:if test="${!locked}">${ctx}/admin/exam/reportSubjectRange/report?subjectCode=${query.subjectCode}</c:if>" class="btn" <c:if test="${locked}">disabled="disabled"</c:if>>刷新</a>
-		</c:if>
-		&nbsp;
-		<div class="btn-group">
-				<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
-					导出<span class="caret"></span>
-				</a>
-				<ul class="dropdown-menu">
-					<li><a href="##" id="export-button">导出</a></li>
-					<li><a href="##"  id="exportAll-button">批量导出</a></li>
-				</ul>
-		</div>
-		&nbsp;
-		<a href="#" onclick="viewEcharts()" class="btn  btn-primary">查看统计图</a>
+        <label>分数间隔</label>
+        <input type="text" number="true" id="range" name="range" value="${query.range}" class="input-mini"/>
+        <%--        <select class="input-large" name="range">--%>
+        <%--                <option value="10" <c:if test="${query.range ==10 }">selected</c:if>>十分一段</option>--%>
+        <%--                 <option value="5" <c:if test="${query.range ==5 }">selected</c:if>>五分一段</option>--%>
+        <%--        </select>--%>
+        &nbsp;
+        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"
+               data-i18n-value="report.group.search"/>
+        <c:if test="${query.subjectCode!=null && oldSubjectCode!=null}">
+            <a id="refresh"
+               href="<c:if test="${locked}">#</c:if><c:if test="${!locked}">${ctx}/admin/exam/reportSubjectRange/report?subjectCode=${query.subjectCode}</c:if>"
+               class="btn" <c:if test="${locked}">disabled="disabled"</c:if>>刷新</a>
+        </c:if>
+        &nbsp;
+        <div class="btn-group">
+            <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
+                导出<span class="caret"></span>
+            </a>
+            <ul class="dropdown-menu">
+                <li><a href="##" id="export-button">导出</a></li>
+                <li><a href="##" id="exportAll-button">批量导出</a></li>
+            </ul>
+        </div>
+        &nbsp;
+        <a href="#" onclick="viewEcharts()" class="btn  btn-primary">查看统计图</a>
     </div>
 </form>
-	<form id="exportForm" action="${ctx}/admin/exam/reportSubjectRange/export" method="post" class="breadcrumb form-search hide">
-        <input type="text" name="subjectCode" value="${query.subjectCode}"  class="input-small"/>
-        <input type="text" name="range" value="${query.range}"  class="input-small"/>
-        <input type="hidden" id="all" name="all"/>
-	</form>
+<form id="exportForm" action="${ctx}/admin/exam/reportSubjectRange/export" method="post"
+      class="breadcrumb form-search hide">
+    <input type="text" name="subjectCode" value="${query.subjectCode}" class="input-small"/>
+    <input type="text" name="range" value="${query.range}" class="input-small"/>
+    <input type="hidden" id="all" name="all"/>
+</form>
 <tags:message content="${message}"/>
 <table id="contentTable" class="table table-striped table-bordered table-condensed">
-<caption align="top">*分数段80表示:80&lt;=成绩&lt;90</caption> 
+    <caption align="top">*分数段80表示:80&lt;=成绩&lt;${80+query.range}</caption>
     <thead>
     <tr>
         <th>分数段</th>
@@ -89,51 +100,51 @@
     </tbody>
 </table>
 <script type="text/javascript">
-$(document).ready(function () {
-	var old = "${oldSubjectCode}";
-	var locked = "${locked}";
-	if(old==""){
-	    $('#btnSubmit').attr("type","button");
-	    $('#refresh').hide();
-    }else{
-    	$('#btnSubmit').attr("type","hidden");
-    	$('#refresh').show();
-    	if(locked!='false'){
-    		$('#refresh').text("计算中");
-	    	window.setTimeout(function(){
-	    		goSearch();
-	    	},5*1000);
-    	}else{
-    		$('#refresh').text("刷新");
-    	}
-    }
-});
-$('#subjectCode').change(function () {
-    var code = $(this).val();
-    var old = "${oldSubjectCode}";
-    if(code !=old || old==""){
-	    $('#btnSubmit').attr("type","button");
-	    $('#refresh').hide();
-    }else{
-    	$('#btnSubmit').attr("type","hidden");
-    	$('#refresh').show();
-    }
-});
+    $(document).ready(function () {
+        var old = "${oldSubjectCode}";
+        var locked = "${locked}";
+        if (old == "") {
+            $('#btnSubmit').attr("type", "button");
+            $('#refresh').hide();
+        } else {
+            $('#btnSubmit').attr("type", "hidden");
+            $('#refresh').show();
+            if (locked != 'false') {
+                $('#refresh').text("计算中");
+                window.setTimeout(function () {
+                    goSearch();
+                }, 5 * 1000);
+            } else {
+                $('#refresh').text("刷新");
+            }
+        }
+    });
+    $('#subjectCode').change(function () {
+        var code = $(this).val();
+        var old = "${oldSubjectCode}";
+        if (code != old || old == "") {
+            $('#btnSubmit').attr("type", "button");
+            $('#refresh').hide();
+        } else {
+            $('#btnSubmit').attr("type", "hidden");
+            $('#refresh').show();
+        }
+    });
 
-$("#export-button").click(function(){
-	if ($("#subjectCode").val() == null || $("#subjectCode").val() == '') {
-        alert('请选择科目');
-        return;
-    }
-	$("#all").attr("value",false);
-	$("#exportForm").attr("action","${ctx}/admin/exam/reportSubjectRange/export");
-	$("#exportForm").submit();
-});
-$("#exportAll-button").click(function(){
-	$("#all").attr("value",true);
-	$("#exportForm").attr("action","${ctx}/admin/exam/reportSubjectRange/export");
-	$("#exportForm").submit();
-});
+    $("#export-button").click(function () {
+        if ($("#subjectCode").val() == null || $("#subjectCode").val() == '') {
+            alert('请选择科目');
+            return;
+        }
+        $("#all").attr("value", false);
+        $("#exportForm").attr("action", "${ctx}/admin/exam/reportSubjectRange/export");
+        $("#exportForm").submit();
+    });
+    $("#exportAll-button").click(function () {
+        $("#all").attr("value", true);
+        $("#exportForm").attr("action", "${ctx}/admin/exam/reportSubjectRange/export");
+        $("#exportForm").submit();
+    });
 
     function page(n, s) {
         $("#pageNumber").val(n);
@@ -143,7 +154,16 @@ $("#exportAll-button").click(function(){
         return false;
     }
 
+    function isQuarterMultiple(number) {
+        return number % 0.25 === 0;
+    }
+
     function goSearch() {
+        var range = $("#range").val();
+        if (!isQuarterMultiple(range) || range == null || range == '') {
+            alert("分数间隔必须是0.25的倍数");
+            return false;
+        }
         $("#pageNumber").val(1);
         $("#pageSize").val('${query.pageSize}');
         $("#searchForm").attr('action', '${ctx}/admin/exam/reportSubjectRange');
@@ -153,29 +173,29 @@ $("#exportAll-button").click(function(){
 
     function viewEcharts() {
 
-    	var scores = new Array();
+        var scores = new Array();
         var rangeCounts = new Array();
         var rangeRanges = new Array();
 
         $('tbody tr').each(function (i) {
             $(this).children('td').each(function (j) {
-                if(j == 0){
-                	scores.push($(this).text());
-                } else if(j == 1){
-                	rangeCounts.push($(this).text());
-                } else if(j == 2){
-                	rangeRanges.push($(this).text());
+                if (j == 0) {
+                    scores.push($(this).text());
+                } else if (j == 1) {
+                    rangeCounts.push($(this).text());
+                } else if (j == 2) {
+                    rangeRanges.push($(this).text());
                 }
             });
             var width = 800;
-            if(i>40){
-            	width = 18*i;
+            if (i > 40) {
+                width = 18 * i;
             }
-            if(i = $('tbody tr').length-1){
-            	$("#echart-content").width(width+"px") ;
+            if (i = $('tbody tr').length - 1) {
+                $("#echart-content").width(width + "px");
             }
         });
-	
+
         var imageModal = new jBox('Modal');
         imageModal.setWidth($(window).width() * 0.9);
         imageModal.setHeight($(window).height() * 0.85);
@@ -186,52 +206,52 @@ $("#exportAll-button").click(function(){
         var myChart = echarts.init(document.getElementById('echart-content'));
 
         var option = {
-                title: {
-                    text: '课程成绩分段图'
-                    // textAlign:'center'
-                },
-                tooltip: {},
-                legend: {
-                    data: ["分数段",
-                           "人数",
-                           "频率"]
-                },
-                toolbox: {
-                    feature : {
-                        saveAsImage : {show: true}
-                    }
-                },
-           /*      dataZoom: [{
-                    type: 'slider',
-                    show: true,
-                    xAxisIndex: [0],
-                    left: '9%',
-                    bottom: -5,
-                    start: 10,
-                    end: 90 //初始化滚动条
-                }], */
-                xAxis: {
-                    axisLabel: {
-                        interval:0,
-                        rotate:45
-                    },
-                    data: scores
+            title: {
+                text: '课程成绩分段图'
+                // textAlign:'center'
+            },
+            tooltip: {},
+            legend: {
+                data: ["分数段",
+                    "人数",
+                    "频率"]
+            },
+            toolbox: {
+                feature: {
+                    saveAsImage: {show: true}
+                }
+            },
+            /*      dataZoom: [{
+                     type: 'slider',
+                     show: true,
+                     xAxisIndex: [0],
+                     left: '9%',
+                     bottom: -5,
+                     start: 10,
+                     end: 90 //初始化滚动条
+                 }], */
+            xAxis: {
+                axisLabel: {
+                    interval: 0,
+                    rotate: 45
                 },
-                yAxis: [
-                    {
-                        type: 'value'
-                    }
-                ],
-                series: [{
-                    name: "人数",
-                    type: 'bar',
-                    data: rangeCounts
-                },{
-                    name: "频率",
-                    type: 'line',
-                    data: rangeRanges
-                }]
-            };
+                data: scores
+            },
+            yAxis: [
+                {
+                    type: 'value'
+                }
+            ],
+            series: [{
+                name: "人数",
+                type: 'bar',
+                data: rangeCounts
+            }, {
+                name: "频率",
+                type: 'line',
+                data: rangeRanges
+            }]
+        };
         // 使用刚指定的配置项和数据显示图表。
         myChart.setOption(option);