我有一些我想要绘制的日志文件数据。对于一个日志文件,每次事件发生时,都会在日志文件中添加一行。我可以得到它,以便数据看起来像这样:
data = [
{
"click": true,
"date": "2013-06-23T14:37:27.000Z"
},
{
"click": true,
"date": "2013-06-23T14:36:02.000Z"
},
...
...
...
]
现在,我想要做的是在时间线上查看这些数据,这样我就可以看到随着时间的推移会发生多少次点击。但是,我认为我需要按时间间隔(1分钟或15分钟,一天......)对这些数据进行分组,以便我可以看到有多少人在一段时间内点击。然后绘制间隔数据图。
有没有办法按时间间隔对数据进行分组? d3有办法做到这一点吗?我也在使用人力车和咖啡。
答案 0 :(得分:2)
根据Adam Pearce的建议,您可以在此处获取所有信息: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().bins
和axis.ticks
来电之后。