PieChart API
API reference docs for the React PieChart component. Learn about the props, CSS, and other APIs of this exported module.
Demos
Import
import { PieChart } from '@mui/x-charts/PieChart';
// or
import { PieChart } from '@mui/x-charts';
Learn about the difference by reading this guide on minimizing bundle size.
Name | Type | Default | Description |
---|---|---|---|
series* | Array<object> | - | The series to display in the pie chart. |
axisHighlight | { x?: 'band' | 'line' | 'none', y?: 'band' | 'line' | 'none' } | { x: 'none', y: 'none' } | The configuration of axes highlight. See highlight docs for more details. |
bottomAxis | { axisId?: number | string, classes?: object, disableLine?: bool, disableTicks?: bool, fill?: string, label?: string, labelFontSize?: number, labelStyle?: object, position?: 'bottom' | 'top', slotProps?: object, slots?: object, stroke?: string, tickFontSize?: number, tickInterval?: 'auto' | array | func, tickLabelInterval?: 'auto' | func, tickLabelPlacement?: 'middle' | 'tick', tickLabelStyle?: object, tickMaxStep?: number, tickMinStep?: number, tickNumber?: number, tickPlacement?: 'end' | 'extremities' | 'middle' | 'start', tickSize?: number } | string | null | Indicate which axis to display the bottom of the charts. Can be a string (the id of the axis) or an object |
colors | Array<string> | func | blueberryTwilightPalette | Color palette used to colorize multiple series. |
dataset | Array<object> | - | An array of objects that can be used to populate series and axes data using their |
disableAxisListener | bool | false | If |
height | number | - | The height of the chart in px. If not defined, it takes the height of the parent element. |
leftAxis | { axisId?: number | string, classes?: object, disableLine?: bool, disableTicks?: bool, fill?: string, label?: string, labelFontSize?: number, labelStyle?: object, position?: 'left' | 'right', slotProps?: object, slots?: object, stroke?: string, tickFontSize?: number, tickInterval?: 'auto' | array | func, tickLabelInterval?: 'auto' | func, tickLabelPlacement?: 'middle' | 'tick', tickLabelStyle?: object, tickMaxStep?: number, tickMinStep?: number, tickNumber?: number, tickPlacement?: 'end' | 'extremities' | 'middle' | 'start', tickSize?: number } | string | null | Indicate which axis to display the left of the charts. Can be a string (the id of the axis) or an object |
legend | { classes?: object, direction?: 'column' | 'row', hidden?: bool, position?: { horizontal: 'left' | 'middle' | 'right', vertical: 'bottom' | 'middle' | 'top' }, slotProps?: object, slots?: object } | { direction: 'column', position: { vertical: 'middle', horizontal: 'right' } } | The props of the legend. |
margin | { bottom?: number, left?: number, right?: number, top?: number } | object Depends on the charts type. | The margin between the SVG and the drawing area. It's used for leaving some space for extra information such as the x- and y-axis or legend. Accepts an object with the optional properties: |
onItemClick | func | - | Callback fired when a pie arc is clicked. |
rightAxis | { axisId?: number | string, classes?: object, disableLine?: bool, disableTicks?: bool, fill?: string, label?: string, labelFontSize?: number, labelStyle?: object, position?: 'left' | 'right', slotProps?: object, slots?: object, stroke?: string, tickFontSize?: number, tickInterval?: 'auto' | array | func, tickLabelInterval?: 'auto' | func, tickLabelPlacement?: 'middle' | 'tick', tickLabelStyle?: object, tickMaxStep?: number, tickMinStep?: number, tickNumber?: number, tickPlacement?: 'end' | 'extremities' | 'middle' | 'start', tickSize?: number } | string | null | Indicate which axis to display the right of the charts. Can be a string (the id of the axis) or an object |
skipAnimation | bool | false | If |
slotProps | object | {} | The props used for each component slot. |
slots | object | {} | Overridable component slots. See Slots API below for more details. |
tooltip | { axisContent?: elementType, classes?: object, itemContent?: elementType, slotProps?: object, slots?: object, trigger?: 'axis' | 'item' | 'none' } | { trigger: 'item' } | The configuration of the tooltip. See tooltip docs for more details. |
topAxis | { axisId?: number | string, classes?: object, disableLine?: bool, disableTicks?: bool, fill?: string, label?: string, labelFontSize?: number, labelStyle?: object, position?: 'bottom' | 'top', slotProps?: object, slots?: object, stroke?: string, tickFontSize?: number, tickInterval?: 'auto' | array | func, tickLabelInterval?: 'auto' | func, tickLabelPlacement?: 'middle' | 'tick', tickLabelStyle?: object, tickMaxStep?: number, tickMinStep?: number, tickNumber?: number, tickPlacement?: 'end' | 'extremities' | 'middle' | 'start', tickSize?: number } | string | null | Indicate which axis to display the top of the charts. Can be a string (the id of the axis) or an object |
width | number | - | The width of the chart in px. If not defined, it takes the width of the parent element. |
xAxis | Array<{ axisId?: number | string, classes?: object, data?: array, dataKey?: string, disableLine?: bool, disableTicks?: bool, fill?: string, hideTooltip?: bool, id?: number | string, label?: string, labelFontSize?: number, labelStyle?: object, max?: Date | number, min?: Date | number, position?: 'bottom' | 'left' | 'right' | 'top', reverse?: bool, scaleType?: 'band' | 'linear' | 'log' | 'point' | 'pow' | 'sqrt' | 'time' | 'utc', slotProps?: object, slots?: object, stroke?: string, tickFontSize?: number, tickInterval?: 'auto' | array | func, tickLabelInterval?: 'auto' | func, tickLabelPlacement?: 'middle' | 'tick', tickLabelStyle?: object, tickMaxStep?: number, tickMinStep?: number, tickNumber?: number, tickPlacement?: 'end' | 'extremities' | 'middle' | 'start', tickSize?: number, valueFormatter?: func }> | - | The configuration of the x-axes. If not provided, a default axis config is used with id set to |
yAxis | Array<{ axisId?: number | string, classes?: object, data?: array, dataKey?: string, disableLine?: bool, disableTicks?: bool, fill?: string, hideTooltip?: bool, id?: number | string, label?: string, labelFontSize?: number, labelStyle?: object, max?: Date | number, min?: Date | number, position?: 'bottom' | 'left' | 'right' | 'top', reverse?: bool, scaleType?: 'band' | 'linear' | 'log' | 'point' | 'pow' | 'sqrt' | 'time' | 'utc', slotProps?: object, slots?: object, stroke?: string, tickFontSize?: number, tickInterval?: 'auto' | array | func, tickLabelInterval?: 'auto' | func, tickLabelPlacement?: 'middle' | 'tick', tickLabelStyle?: object, tickMaxStep?: number, tickMinStep?: number, tickNumber?: number, tickPlacement?: 'end' | 'extremities' | 'middle' | 'start', tickSize?: number, valueFormatter?: func }> | - | The configuration of the y-axes. If not provided, a default axis config is used with id set to |
Slot name | Class name | Default component | Description |
---|---|---|---|
axisLine | 'line' | Custom component for the axis main line. | |
axisTick | 'line' | Custom component for the axis tick. | |
axisTickLabel | ChartsText | Custom component for tick label. | |
axisLabel | ChartsText | Custom component for axis label. | |
pieArc | |||
pieArcLabel | |||
legend | DefaultChartsLegend | Custom rendering of the legend. | |
popper | ChartsTooltipRoot | Custom component for the tooltip popper. | |
axisContent | DefaultChartsAxisTooltipContent | Custom component for displaying tooltip content when triggered by axis event. | |
itemContent | DefaultChartsItemTooltipContent | Custom component for displaying tooltip content when triggered by item event. |