2016-08-30 6 views
4

私はChart.jsを使用しています。私のxAxisでは、[2016:08:06,2016:08 :10]と一致する値[20,40]Chart.js:2つの日付の間にギャップがある場合、yAxisポイントを0に設定します。

問題は、Chart.jsが指定された日付の配列の間の日数を表示していることです。 3日の間隔があるので、配列を[20,0,0,0,40]に設定したくありません。 yAxisの一致する値を0に自動的に設定する方法はありますか?

+0

はあなたの問題で[JSfiddle](https://jsfiddle.net)を追加することができます。

それはおそらくここsimplierときれいに行うことができますが、私のコードですか? – tektiv

答えて

0

私は同じ問題が発生していたのですが、単純なjavascriptハックを書くことで "修正"しました。
1.日付の新しい配列を作成します。
2.現在の日付の配列と比較します。
3. values配列の対応する空白を0で埋めます。

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]);    
    } 
} 
関連する問題