2016-08-30 1 views
4

Chart.js를 사용하고 xAxis에서 [2016 : 08 : 06,2016 : 08]과 같은 간격의 배열이 있습니다. : 10]와 일치하는 값 [20,40]Chart.js : 두 날짜 사이에 간격이있을 때 yAxis 지점을 0으로 설정하십시오.

문제는 Chart.js가 주어진 날짜 배열 사이의 날짜를 표시한다는 것입니다. 3 일 간격이 있으므로 배열을 [20,0,0,0,40]으로 설정하고 싶지 않습니다. yAxis에서 일치하는 값을 0으로 자동 설정할 수있는 방법은 무엇입니까?

+0

당신은 문제가있는 [JSfiddle] (https://jsfiddle.net)를 추가 할 수 있습니다

그것은 아마 여기에 더 간단하고 예쁘게 할 수 있지만 내 코드입니까? – tektiv

답변

0

이전에 같은 문제가 발생하여 간단한 javascript 해킹을 작성하여 "고정"했습니다.
1. 새 날짜 배열을 만듭니다.
2. 현재 날짜 배열과 비교하십시오.
3. 값 배열의 해당 간격을 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]);    
    } 
} 
관련 문제