Мне нужна помощь, пожалуйста, с этим кодом:
сбросить отсутствующую дату в данных для диаграммы js
моя таблица, например, со значениями:
bonus date
5 : 18-04-2020
10 : 19-04-2020
0 : 20-04-2020
0 : 21-04-2020
55 : 22-04-2020
44 : 23-04-2020
30 : 24-04-2020
я получаю дату последних 7 дней в базе данных, диаграмма js отображает все даты, но я хочу, чтобы на диаграмме не отображалась 30: 24-04-2020 последняя дата, но я хочу отобразить 0: 25-04-2020, если не существует в базе данных, потому что у пользователя еще нет бонуса сегодня. Я думаю, что нужно добавить 1 день в последнюю дату на графике js? или в запросе к базе?
мой код:
var graphData = [55, 10, 0, 0, 55, 44, 30],
labels = ["18-04-2020", "19-04-2020", "20-04-2020", "21-04-2020", "22-04-2020", "23-04-2020", "24-04-2020"];
for (var i = 0; i < labels.length; i++) {
//make sure we are not checking the last date in the labels array
if (i + 1 < labels.length) {
var date1 = moment(labels[i], "DD-MM-YYYY");
var date2 = moment(labels[i + 1], "DD-MM-YYYY");
//if the current date +1 is not the same as it's next neighbor we have to add in a new one
if (!date1.add(1, "days").isSame(date2)) {
//add the label
labels.splice(i + 1, 0, date1.format("DD-MM-YYYY"));
//add the data
graphData.splice(i + 1, 0, 0);
}
}
}
var ctx = document.getElementById("chart").getContext("2d");
var data = {
labels:labels,
datasets: [{
label: "My First dataset",
fillColor: "rgba(220,220,220,0.5)",
strokeColor: "rgba(220,220,220,0.8)",
highlightFill: "rgba(220,220,220,0.75)",
highlightStroke: "rgba(220,220,220,1)",
data: graphData
}]
};
var myLineChart = new Chart(ctx).Line(data);