2013-06-29 3 views
2

그래프로 기록 할 로그 파일 데이터가 있습니다. 하나의 로그 파일에 대해 이벤트가 발생할 때마다 로그 파일에 행이 추가됩니다.d3의 시간 간격으로 로그 파일 데이터 그룹화

data = [ 
    { 
     "click": true, 
     "date": "2013-06-23T14:37:27.000Z" 
    }, 
    { 
     "click": true, 
     "date": "2013-06-23T14:36:02.000Z" 
    }, 
    ... 
    ... 
    ... 
] 

지금, 내가 뭘하고 싶은 것은 타임 라인에이 데이터를 볼 수있다, 그래서 시간이 지남에 일이 얼마나 많은 클릭 볼 수 있습니다 : 나는 데이터가 다음과 같습니다 있도록 그것을 얻을 수 있습니다. 그러나이 데이터를 간격 (1 분 또는 15 분, 하루 ...)으로 그룹화하여 일정 기간 동안 얼마나 많은 사람들이 클릭 하는지를 볼 수 있어야한다고 생각합니다. 그런 다음 간격 데이터를 그래프로 표시하십시오.

시간 간격으로 데이터를 그룹화하는 방법이 있습니까? d3에서이 작업을 수행 할 수 있습니까? 나는 인력거와 coffeescript도 사용하고 있습니다. 아담 피어스에 의해 제안

+0

http://bl.ocks.org/mbostock/3048166 –

답변

2

것은, 당신이 여기있는 모든 정보를 얻을 수 있습니다 : http://bl.ocks.org/mbostock/3048166

첫 번째 단계는 x를 정의하는 것입니다 :

var x = d3.scale.linear() 
    .domain([0, 120]) 
    .range([0, width]); 

를 그리고, 당신은 단지 진드기의 수를 정의 당신이 원하는 :

values 함께
// Generate a histogram using twenty uniformly-spaced bins. 
var data = d3.layout.histogram() 
    .bins(x.ticks(20)) 
    (values); 

는 다음과 같이 정의된다 : 0

// Generate a log-normal distribution with a median of 30 minutes. 
var values = d3.range(1000).map(d3.random.logNormal(Math.log(30), .4)); 

따라서 비밀은 d3.layout.histogram().binsaxis.ticks 전화 뒤에 있습니다.

관련 문제