use*_*521 5 html javascript chart.js
我正在使用 Chart.js,在我的 xAxis 中,我有一些带有间隙的日期数组,例如 [2016:08:06,2016:08:10] 及其匹配值 [20,40]
问题是 Chart.js 显示给定日期数组之间的天数。我不想将数组设置为 [20,0,0,0,40],因为我有 3 天的间隙。如何将 yAxis 中的匹配值自动设置为 0。
不久前我遇到了同样的问题,并通过编写一个简单的 javascript hack 来“修复”它。
1. 创建新的日期数组;
2. 将其与当前的日期数组进行比较;
3. 用零填充值数组中相应的空白;
它可能可以做得更简单、更漂亮,但这是我的代码:
var minDate = new Date(date[0]).getTime(),
maxDate = new Date(date[date.length - 1]).getTime();
var newDates = [],
currentDate = minDate,
d;
while (currentDate <= maxDate) {
d = new Date(currentDate);
newDates.push(d.getFullYear() + '-' + ("0" + (d.getMonth() + 1)).slice(-2) + '-' + ("0" + d.getDate()).slice(-2));
currentDate += (24 * 60 * 60 * 1000); // add one day
}
for (var i = 0; i < newDates.length; i++) {
if (newDates[i] == dates[i]) {
newCount.push(count[n]);
n++;
} else {
newCount.push("0");
dates.splice(i, 0, newDates[i]);
}
}
Run Code Online (Sandbox Code Playgroud)