dc.js barChart第一个和最后一个栏没有完全显示

pnd*_*pnd 4 d3.js dc.js

我有一个带d3.time.scalex轴的barChart .我每小时显示一些数据,但使用时,第一个和最后一个数据点条总是减少一半centerBar(true).
(使用centerBar(false)最后一个栏时完全消失.)

时间窗口基于数据本身,计算如下:

var minDate = dateDim.bottom(1)[0]["timestamp"];
var maxDate = dateDim.top(1)[0]["timestamp"];

.x(d3.time.scale().domain([minDate, maxDate]));
Run Code Online (Sandbox Code Playgroud)

最后一行设置时间范围域使用min和maxDate.这是它的样子: dc.js barChart 1

我稍微增加了条宽,.xUnits(function(){return 60;})因为默认值很薄,第一个条在y轴内消失.

此外,我已经尝试通过减去/添加一小时到min/maxDate来更改域,但这会导致第一个栏的意外行为. 在此输入图像描述

我使用以下来计算偏移量:

minDate.setHours(minDate.getHours() - 1);
maxDate.setHours(maxDate.getHours() + 1);
Run Code Online (Sandbox Code Playgroud)

是否有修复或解决方法在第一个和最后一个栏之前添加填充?

Aus*_*tin 6

从minDate减去一个小时,并在maxDate中添加一个小时,以便在最小和最大数据的每一侧获得一小时的填充.

这里的技巧是使用d3.time.hour.offset并使用偏移量直到它看起来不错.

.x(d3.time.scale().domain([d3.time.hour.offset(minDate, -1), d3.time.hour.offset(maxDate, 2)])); `
Run Code Online (Sandbox Code Playgroud)

看到这个小提琴http://jsfiddle.net/austinlyons/ujdxhd27/3/