Chart.js :当两个日期之间存在间隙时,将 yAxis 点设置为 0

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。

Mak*_*m.T 1

不久前我遇到了同样的问题,并通过编写一个简单的 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)