UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

44 lines (43 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useRadarGridData = useRadarGridData; var _useScale = require("../../hooks/useScale"); var _useDrawingArea = require("../../hooks/useDrawingArea"); var _hooks = require("../../hooks"); var _useChartContext = require("../../context/ChartProvider/useChartContext"); function useRadarGridData() { const { instance } = (0, _useChartContext.useChartContext)(); const rotationScale = (0, _useScale.useRotationScale)(); const { radiusAxis } = (0, _hooks.useRadiusAxes)(); const drawingArea = (0, _useDrawingArea.useDrawingArea)(); const cx = drawingArea.left + drawingArea.width / 2; const cy = drawingArea.top + drawingArea.height / 2; if (!rotationScale || rotationScale.domain().length === 0) { return null; } const metrics = rotationScale.domain(); const angles = metrics.map(key => rotationScale(key)); return { center: { x: cx, y: cy }, corners: metrics.map((metric, dataIndex) => { const radiusScale = radiusAxis[metric].scale; const r = radiusScale.range()[1]; const angle = angles[dataIndex]; const [x, y] = instance.polar2svg(r, angle); return { x, y }; }), radius: radiusAxis[metrics[0]].scale.range()[1] }; }