D3 ticks 改变焦点时改变位置

D3 ticks change position when changing focus

我正在使用带有焦点图的 NVD3 多条形图。我希望我的次要(顶部)x 轴上的刻度与主要(底部)x 轴上的条正确对齐 - 最好在它们的开头。目前,价格变动不与同一位置的柱线对齐。其中一些在相邻日期或在条形中间,如下所示:

刻度与特定日期的事件一致。两个轴使用相同的比例。它的域根据上下文图上的选择范围分配给画笔事件,方法如下:

 x.domain([new Date(extent[0]), new Date(extent[1])]);

我也试过这个:

 x.domain([new Date(extent[0]), d3.time.day.offset(new Date(extent[1]), 1)]);

它在开始选择时很好地排列在条形的前面,但在更改焦点范围时不会将刻度保持在原位。我怎样才能使价格变动与其柱线保持一致?

编辑:我使用 tickValues() 指定刻度的位置。 x 是 d3.time.scale().

问题是我缺少某些日期的条形数据,因此天平上的日期数与条形数不匹配。我通过在缺失日期的数据中插入 0 个值来解决此问题。