D3直方图 - 基于日期

时间:2013-07-19 12:05:59

标签: date d3.js scale histogram

我有一系列日期

["01/01/2001", "01/01/2001", "03/01/2001", "01/04/2001", "01/05/2001", "02/05/2001", "01/07/2001", "01/07/2001", "01/07/2001", "01/10/2001"]

有些是重复的,没有特别的顺序,在不同的时间范围内(1周,43天,2年等)。

我想要做的是产生一个直方图(或条形图),显示任意数量的桶中的“日期”计数(如20个桶)。

如果存储桶中没有日期,则显示零和包含日期的存储桶的总数。

基本上就像这个例子: http://bl.ocks.org/mbostock/3048450

但我没有显示随机的“秒”,而是需要“约会”。

像:

Histogram of dates

我想我想将X比例域更改为数据中的日期范围。

1 个答案:

答案 0 :(得分:7)

所以解决方案就像@LarsKotthoff在评论中所建议的那样。

var x = d3.time.scale().domain([firstDate, lastDate]).range([0, width]);

var data = d3.layout.histogram()
        .bins(x.ticks(bins))  
        (values);

var formatDate = d3.time.format("%d/%m/%y");
var xAxis = d3.svg.axis()
            .scale(x)
            .orient("bottom")
            .tickFormat(formatDate);