in packages/charts/src/chart_types/xy_chart/utils/get_linear_ticks.ts [34:72]
export function getLinearTicks(start: number, stop: number, count: number, base: number = 2): number[] {
let reverse,
i = -1,
n,
ticks,
step;
stop = +stop;
start = +start;
count = +count;
if (start === stop && count > 0) return [start];
if ((reverse = stop < start)) {
n = start;
start = stop;
stop = n;
}
if ((step = tickIncrement(start, stop, count, base)) === 0 || !isFinite(step)) return [];
if (step > 0) {
let r0 = Math.round(start / step),
r1 = Math.round(stop / step);
if (r0 * step < start) ++r0;
if (r1 * step > stop) --r1;
ticks = new Array((n = r1 - r0 + 1));
while (++i < n) ticks[i] = (r0 + i) * step;
} else {
step = -step;
let r0 = Math.round(start * step),
r1 = Math.round(stop * step);
if (r0 / step < start) ++r0;
if (r1 / step > stop) --r1;
ticks = new Array((n = r1 - r0 + 1));
while (++i < n) ticks[i] = (r0 + i) / step;
}
if (reverse) ticks.reverse();
return ticks;
}