@mui/x-charts
Version:
The community edition of MUI X Charts components.
22 lines (21 loc) • 826 B
JavaScript
export function getTickNumber(params) {
const {
tickMaxStep,
tickMinStep,
tickNumber,
range,
domain
} = params;
const maxTicks = tickMinStep === undefined ? 999 : Math.floor(Math.abs(domain[1] - domain[0]) / tickMinStep);
const minTicks = tickMaxStep === undefined ? 2 : Math.ceil(Math.abs(domain[1] - domain[0]) / tickMaxStep);
const defaultizedTickNumber = tickNumber ?? Math.floor(Math.abs(range[1] - range[0]) / 50);
return Math.min(maxTicks, Math.max(minTicks, defaultizedTickNumber));
}
export function scaleTickNumberByRange(tickNumber, range) {
const rangeGap = range[1] - range[0];
/* If the range start and end are the same, `tickNumber` will become infinity, so we default to 1. */
if (rangeGap === 0) {
return 1;
}
return tickNumber / ((range[1] - range[0]) / 100);
}