@mui/x-charts
Version:
The community edition of MUI X Charts components.
42 lines • 1.2 kB
JavaScript
import { getPercentageValue } from "../../internals/getPercentageValue.js";
import { getPieCoordinates } from "../getPieCoordinates.js";
const seriesLayout = (series, drawingArea) => {
const seriesLayoutRecord = {};
for (const seriesId of series.seriesOrder) {
const {
innerRadius,
outerRadius,
arcLabelRadius,
cx: cxParam,
cy: cyParam
} = series.series[seriesId];
const {
cx,
cy,
availableRadius
} = getPieCoordinates({
cx: cxParam,
cy: cyParam
}, {
width: drawingArea.width,
height: drawingArea.height
});
const outer = getPercentageValue(outerRadius ?? availableRadius, availableRadius);
const inner = getPercentageValue(innerRadius ?? 0, availableRadius);
const label = arcLabelRadius === undefined ? (inner + outer) / 2 : getPercentageValue(arcLabelRadius, availableRadius);
seriesLayoutRecord[seriesId] = {
radius: {
available: availableRadius,
inner,
outer,
label
},
center: {
x: drawingArea.left + cx,
y: drawingArea.top + cy
}
};
}
return seriesLayoutRecord;
};
export default seriesLayout;