2017-10-16 22 views
1

x 축이 날짜 인 막대 차트를 만들고 싶습니다. 2017-08-12이고 y 값은 같은 날짜의 데이터 행 수 (즉, 레코드 수)입니다.시간 차원의 barChart 플롯

// get data into right format 
var dateFormat = d3.time.format("%Y-%m-%d"); 
pageViews.forEach(function(d) { 
    d['timestamp'] = dateFormat.parse(d['timestamp'].slice(0,10)); 
    d['timestamp'].setDate(1); 
}); 

// Create Crossfilter instance 
var cf = crossfilter(data); 

var dateDim = cf.dimension(function(d) {return d['timestamp'];}); 

var numByDate = dateDim.group(); 

하지만

console.log(numByDate.top(Infinity)); 

이 매월 1 일입니다 (5 개) 요소를 반환 할, 그래서 내가 가지고있는 그룹 대신 년 - 월 - 일 년도 개월의 측면에있는 경우 어떻게 해결할 수 있습니까?

crossfilter.js: group data by month을 조사했지만 작동하지 않았습니다 .all()을 사용한 후에도 여전히 같은 결과가 나타납니다.

그리고 나는이 시도 :

var numByDate = dateDim.group(function(d) {return d['timestamp'];}); 

그냥 나에게 빈 객체를 반환합니다.

답변

1

그래서이

setDate(1) 

단지의 날을 설정합니다,

문제가 setDate 방법의 오용에서 유래 ... JS 내 익숙하지의 결과이며, 예제 코드를 붙여 복사 데이터를 첫날까지 포함하므로 그룹 메소드에는 몇 가지 고유 한 날짜 만 사용할 수 있습니다.