Axis hooks
Read axis configuration and computed properties for cartesian and polar charts in custom components.
The axis hooks expose axis configurations and computed properties for both cartesian (x/y) and polar (rotation/radius) charts.
Cartesian charts
Use useXAxes(), useYAxes(), useXAxis(), and useYAxis() to read x-axis and y-axis configurations.
Get all axes
Use useXAxes() and useYAxes() to get all axes of a given direction:
import { useXAxes, useYAxes } from '@mui/x-charts/hooks';
function CustomComponent() {
// All x-axes
const { xAxis, xAxisIds } = useXAxes();
// All y-axes
const { yAxis, yAxisIds } = useYAxes();
}
Get a specific axis
Use useXAxis() and useYAxis() to get a specific axis by ID.
If you omit the ID, the hook returns the default axis.
import { useXAxis, useYAxis } from '@mui/x-charts/hooks';
function CustomComponent() {
// Default x-axis
const xAxis = useXAxis();
// Specific x-axis
const xAxisCustom = useXAxis('customAxisId');
// Default y-axis
const yAxis = useYAxis();
// Specific y-axis
const yAxisLeft = useYAxis('leftAxis');
}
Polar charts
Use useRotationAxes(), useRadiusAxes(), useRotationAxis(), and useRadiusAxis() for polar charts (such as radar charts).
Get all rotation and radius axes
Use useRotationAxes() and useRadiusAxes() to get all rotation and radius axes.
import { useRotationAxes, useRadiusAxes } from '@mui/x-charts/hooks';
function CustomComponent() {
const { rotationAxis, rotationAxisIds } = useRotationAxes();
const { radiusAxis, radiusAxisIds } = useRadiusAxes();
}
Get a specific axis
Use useRotationAxis() and useRadiusAxis() to get a specific axis by ID or index.
import { useRotationAxis, useRadiusAxis } from '@mui/x-charts/hooks';
function CustomComponent() {
// Default rotation axis
const rotationAxis = useRotationAxis();
// Specific rotation axis
const rotationAxisCustom = useRotationAxis('customAxisId');
// Access by index
const radiusAxis = useRadiusAxis(0);
// Access by ID
const radiusAxisById = useRadiusAxis('radiusAxisId');
}
Usage example
The example below shows useXAxes() and useYAxes() reading all axes in a chart with dual y-axes.
The custom components use these hooks to draw visual indicators for axis ranges and to display axis metadata.
Caveats
You can only use these hooks within a chart context. See the hooks overview for usage requirements.