为了让事情看起来更好一点,我一直在尝试使用tickSubDivide workaround的变体。我在这里得到了我想要的结果,但是我的实现非常有限(更改滑块,事情看起来不再那么漂亮了)。
我改变了策略并尝试根据“真实”轴的滴答计数来计算“假”轴,但是当我意识到这不仅仅是滴答计数的变化,而是每个变化的值时,我遇到了更多问题勾代表。
我的下一步是遍历每个.tick
并在我所在的滴答声和下一个滴答声之间生成新line
元素,然后返回并在开头填写滴答声……这似乎会变成熊.
我想知道是否不值得不axis
这样做......也许从长远来看,自己创建刻度可能会更有效?
我想在我最终做一些愚蠢的事情之前,我会问专家是否有更好的方法来解决这个问题。
如果它不明显,我想要的效果是这样的:
| | | | | | | | | | | | |
| | 1 | | | 2 | | | 3 | |
| | | |
但可能最终会解决这个问题:
| | | | | | |
| 1 | 2 | 3 |
| | | |
量表的范围/域需要完全动态。
编辑:我有没有提到我想使用d3.time.scale
?我的第一次扫描产生了一些奇怪的结果......查看滑块上 202 和 203 之间的区别(使用键盘获得准确性):
http://jsbin.com/InEFISa/4/edit
编辑二:再次尝试涉及填充现有刻度。
http://jsbin.com/AmIFAci/1/edit
我想我正在做的事情代价高昂,但我没有衡量性能。这也有点草率......我打电话minorAxisGroup.selectAll('g').remove()
而不是绑定我新建的points
数组.data()
,这不符合 D3 的精神。我可能会调整它。
我会尝试再延长.axis()
一次。我不完全确定如何尽可能多地渲染两倍的滴答声……我有一些想法,但也有一些担忧。