3

为了让事情看起来更好一点,我一直在尝试使用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()一次。我不完全确定如何尽可能多地渲染两倍的滴答声……我有一些想法,但也有一些担忧。

4

0 回答 0