Chart.js:当两个日期之间存在差距时,将yAxis指向0

时间:2016-08-30 02:19:16

标签: javascript html html5 chart.js

我使用Chart.js并在我的xAxis中有一些日期与[2016:08:06,2016:08:10]及其匹配值[20,40]等差距的数组

问题是Chart.js在给定的日期数组之间显示天数。 我不想将我的阵列设置为[20,0,0,0,40],因为我有3天的差距。 如何自动将yAxis中的匹配值设置为0。

1 个答案:

答案 0 :(得分: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]);            
    }
}