【问题标题】:D3 ticks change position when changing focus改变焦点时D3刻度改变位置
【发布时间】:2015-10-06 19:28:49
【问题描述】:

我正在使用带有焦点图表的 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()

【问题讨论】:

    标签: javascript d3.js graph nvd3.js


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-23
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多