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.
37 lines
1.1 KiB
37 lines
1.1 KiB
|
4 months ago
|
"use strict";
|
||
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
|
exports.d3Ticks = void 0;
|
||
|
|
const utils_1 = require("../utils");
|
||
|
|
const d3Ticks = (begin, end, count) => {
|
||
|
|
let n;
|
||
|
|
let ticks;
|
||
|
|
let start = begin;
|
||
|
|
let stop = end;
|
||
|
|
if (start === stop && count > 0) {
|
||
|
|
return [start];
|
||
|
|
}
|
||
|
|
let step = (0, utils_1.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;
|
||
|
|
};
|
||
|
|
exports.d3Ticks = d3Ticks;
|
||
|
|
//# sourceMappingURL=d3-ticks.js.map
|