首页 > 解决方案 > 如何计算燃尽图的理想和实际燃耗

问题描述

我正在尝试计算课程燃尽图的数据。该课程有开始和结束日期、练习计数以及实际学生的开始和结束日期。我有来自服务器的数据 JSON 和课程数据。我处理它。首先,我计算totalExcercisesCount然后计算学生完成课程的天数。毕竟我得到了下一个数据对象:

const chartDataObj = {
  idealBurn: [],
  actualBurn: [],
  idealIncrement: 0,
  totalExcercisesCount: 12,
  totalExercisesDoneCount: 4,
  timeLine: {
    courseFrom: "2018-09-10",
    courseTo: "2019-06-21",
    start: "2018-09-11",
    finish: "2018-10-01",
    totalDays: 20,
  }
}

在我建立一条理想线之后,第一个问题来了。我正在尝试下一步,

chartDataObj.idealIncrement = Math.floor(
chartDataObj.timeLine.totalDays / chartDataObj.totalExcercisesCount
);

for (i = 0; i <= chartDataObj.timeLine.totalDays - 1; i++) {
  chartDataObj.idealBurn.push(chartDataObj.idealIncrement * (i + 1));
}
chartDataObj.idealBurn.reverse();

问题是,如果天数比练习多得多,那么我的理想燃烧量就会有误。 在此处输入图像描述

我有 12 个练习要完成,但在第二天,它显示为 19。我在这里做错了什么?

然后我需要填写实际的刻录数据。但问题是,如何根据练习完成的日期填写并在图表上显示?我的意思是在我的最终数据对象中,我只是totalExercisesDoneCount在最初的 JSON 中,我有关于练习完成日期的信息。我应该按日期对它们进行分组吗?

我还准备了一个带有图表和所有代码的代码笔。任何帮助将不胜感激。谢谢

标签: javascriptalgorithmhighchartsburndowncharts

解决方案


推荐阅读