@mui/x-charts
Version:
The community edition of MUI X Charts components.
31 lines (30 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getNormalizedAxisScale = getNormalizedAxisScale;
exports.getRange = getRange;
var _axis = require("../../../../models/axis");
var _getScale = require("../../../getScale");
var _scales = require("../../../scales");
const DEFAULT_CATEGORY_GAP_RATIO = 0.2;
function getRange(drawingArea, axisDirection, axis) {
const range = axisDirection === 'x' ? [drawingArea.left, drawingArea.left + drawingArea.width] : [drawingArea.top + drawingArea.height, drawingArea.top];
return axis.reverse ? [range[1], range[0]] : range;
}
function getNormalizedAxisScale(axis, domain) {
const range = [0, 1];
if ((0, _axis.isBandScaleConfig)(axis)) {
const categoryGapRatio = axis.categoryGapRatio ?? DEFAULT_CATEGORY_GAP_RATIO;
return (0, _scales.scaleBand)(domain, range).paddingInner(categoryGapRatio).paddingOuter(categoryGapRatio / 2);
}
if ((0, _axis.isPointScaleConfig)(axis)) {
return (0, _scales.scalePoint)(domain, range);
}
const scaleType = axis.scaleType ?? 'linear';
const scale = (0, _getScale.getScale)(scaleType, domain, range);
if ((0, _axis.isSymlogScaleConfig)(axis) && axis.constant != null) {
scale.constant(axis.constant);
}
return scale;
}