FunnelChart API
API reference docs for the React FunnelChart component. Learn about the props, CSS, and other APIs of this exported module.
Demos
Import
import { FunnelChart } from '@mui/x-charts-pro/FunnelChart';
// or
import { FunnelChart } from '@mui/x-charts-pro';
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 funnel chart. An array of FunnelSeriesType objects. |
axisHighlight | { x?: 'band' | 'line' | 'none', y?: 'band' | 'line' | 'none' } | - | The configuration of axes highlight. Default is set to 'band' in the bar direction. Depends on See highlighting docs for more details. |
categoryAxis | { categories?: Array<string>, disableLine?: bool, disableTicks?: bool, id?: number | string, position?: 'bottom' | 'left' | 'none' | 'right' | 'top', scaleType?: 'band' | 'linear' | 'log' | 'point' | 'pow' | 'sqrt' | 'time' | 'utc', size?: number, tickLabelStyle?: object, tickSize?: number } | { position: 'none' } | The configuration of the category axis. |
colors | Array<string> | func | rainbowSurgePalette | Color palette used to colorize multiple series. |
disableAxisListener | bool | false | If |
height | number | - | The height of the chart in px. If not defined, it takes the height of the parent element. |
hideLegend | bool | false | If |
highlightedItem | { dataIndex?: number, seriesId: number | string } | - | The highlighted item. Used when the highlight is controlled. |
id | string | - | This prop is used to help implement the accessibility logic. If you don't provide this prop. It falls back to a randomly generated id. |
initialZoom | Array<{ axisId: number | string, end: number, start: number }> | - | The list of zoom data related to each axis. Used to initialize the zoom in a specific configuration without controlling it. |
loading | bool | false | If |
margin | number | { bottom?: number, left?: number, right?: number, top?: number } | - | 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. |
onAxisClick | func | - | The function called for onClick events. The second argument contains information about all line/bar elements at the current mouse position. Signature: function(event: MouseEvent, data: null | AxisData) => void
|
onHighlightChange | func | - | The callback fired when the highlighted item changes. Signature: function(highlightedItem: HighlightItemData | null) => void
|
onItemClick | func | - | Callback fired when a funnel item is clicked. Signature: function(event: React.MouseEvent
|
skipAnimation | bool | - | If |
slotProps | object | {} | The props used for each component slot. |
slots | object | {} | Overridable component slots. See Slots API below for more details. |
width | number | - | The width of the chart in px. If not defined, it takes the width of the parent element. |
zoomData | Array<{ axisId: number | string, end: number, start: number }> | - | The list of zoom data related to each axis. |
Slot name | Class name | Default component | Description |
---|---|---|---|
axisLabel | ChartsText | Custom component for axis label. | |
axisLine | 'line' | Custom component for the axis main line. | |
axisTick | 'line' | Custom component for the axis tick. | |
axisTickLabel | ChartsText | Custom component for tick label. | |
funnelSection | |||
legend | ChartsLegend | Custom rendering of the legend. | |
loadingOverlay | ChartsLoadingOverlay | Overlay component rendered when the chart is in a loading state. | |
noDataOverlay | ChartsNoDataOverlay | Overlay component rendered when the chart has no data to display. | |
tooltip | ChartsTooltipRoot | Custom component for the tooltip popper. |
Source code
If you did not find the information in this page, consider having a look at the implementation of the component for more detail.