@mui/x-charts
Version:
The community edition of MUI X Charts components.
23 lines (22 loc) • 900 B
JavaScript
export function getTickNumber(params, domain, defaultTickNumber) {
const {
tickMaxStep,
tickMinStep,
tickNumber
} = 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 ?? defaultTickNumber;
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);
}
export function getDefaultTickNumber(dimension) {
return Math.floor(Math.abs(dimension) / 50);
}