With continuous values for the domain axis, the axis tick values are evenly spaced by default, and each of the step values change relative to the preceding value. So 0 is the default preceding value before the first value, but this can be changed to a different value. You can also specify explicit ticks at any values, as you can see in this example:
https://jsfiddle.net/dlaliberte/25xtvjn4/2/
I suspect you might prefer to just convert your numeric domain values to strings, so then each of the discrete values are used as labels for one step regardless of the preceding values.