2

我有一些想要绘制的日志文件数据。对于一个日志文件,每次发生事件时都会在日志文件中添加一行。我可以得到它,以便数据看起来像这样:

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

现在,我想做的是在时间线上查看这些数据,这样我就可以看到随着时间的推移发生了多少点击。但是,我认为我需要按时间间隔(1 分钟或 15 分钟,一天......)对这些数据进行分组,以便我可以看到有多少人在一段时间内点击。然后绘制区间数据。

有没有办法按时间间隔对数据进行分组?d3有办法做到这一点吗?我也在使用人力车和coffeescript。

4

1 回答 1

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

于 2013-06-30T21:08:17.730 回答