我花了更多的时间来尝试获得一个很好的日期轴直方图,在我发布我的第一个问题在stackoverflow的程度.
轴和堆叠只是我想要的方式,但是酒吧真的很瘦,没有(对我)明显的原因.换句话说,我真的很感激一些帮助.
这是一个最小化的版本(我正在使用dc.js库,但我很自信,挑战是在d3 crossfilters代表):
var jsonstr = [{"timestamp": "2013-06-13T11:04:24.729Z"},{"timestamp": "2013-06-17T11:03:24.729Z"},{"timestamp": "2013-06-17T11:02:24.729Z"},{"timestamp": "2013-06-19T11:02:14.129Z"}]; var ndx = crossfilter(jsonstr); var timestampD = ndx.dimension(function (d) { return new Date(d.timestamp); }); var timestampDG = timestampD.group(function (d) { return d3.time.day(d); }); var barChart = dc.barChart("#dc-bar"); barChart.width(500) .height(250) .dimension(timestampD) .group(timestampDG) .x(d3.time.scale().domain([(new Date(2013,05,12)),(new Date(2013,20))]).nice(d3.time.day)) .xAxis().tickFormat(function (x) { return x.getDate() + "/" + (x.getMonth()+1); }); dc.renderAll();
解决方法
我认为问题实际上是你如何使用dc.js;你不要指定什么
units barchart应该在.尝试这样:
barChart .width(500) .height(250) .dimension(timestampD) .xUnits(d3.time.days) .ect