You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
947 B
33 lines
947 B
import { tickIncrement } from '../utils';
|
|
export const d3Ticks = (begin, end, count) => {
|
|
let n;
|
|
let ticks;
|
|
let start = begin;
|
|
let stop = end;
|
|
if (start === stop && count > 0) {
|
|
return [start];
|
|
}
|
|
let step = tickIncrement(start, stop, count);
|
|
if (step === 0 || !Number.isFinite(step)) {
|
|
return [];
|
|
}
|
|
if (step > 0) {
|
|
start = Math.ceil(start / step);
|
|
stop = Math.floor(stop / step);
|
|
ticks = new Array((n = Math.ceil(stop - start + 1)));
|
|
for (let i = 0; i < n; i += 1) {
|
|
ticks[i] = (start + i) * step;
|
|
}
|
|
}
|
|
else {
|
|
step = -step;
|
|
start = Math.ceil(start * step);
|
|
stop = Math.floor(stop * step);
|
|
ticks = new Array((n = Math.ceil(stop - start + 1)));
|
|
for (let i = 0; i < n; i += 1) {
|
|
ticks[i] = (start + i) / step;
|
|
}
|
|
}
|
|
return ticks;
|
|
};
|
|
//# sourceMappingURL=d3-ticks.js.map
|