2013-06-29 94 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有辦法做到這一點嗎?我也在使用人力車和咖啡標。

+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]); 

然後你只需要定義蜱的數量,您想要的:

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

隨着values被定義是這樣的:

// 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調用。