try to generate at least one tick by mbostock · Pull Request #264 · d3/d3-array
I noticed that this returns zero ticks:
That’s because the chosen tick step is 500, and of course neither 0 or 500 is within [1, 364]. A more egregious case which also returns the empty array for the same reasons is:
The fix is simply to double the number of requested ticks recursively when the actual number of ticks is zero. (That’s because tickIncrement does not take into account the alignment of the domain with the tick values.) To avoid any risk of infinite recursion, we only double the count when the count is in the range [0.5, 2); at most two doublings as possible.
This means that this:
likewise now returns [200, 400] instead of [], but that seems consistent with the documented behavior of returning count + 1 = 1.5 values.