Skip to contentSkip to content

RadialLineChart API

API reference docs for the React RadialLineChart component. Learn about the props, CSS, and other APIs of this exported module.

Demos

Import

import { RadialLineChart } from '@mui/x-charts/RadialLineChart';
// or
import { RadialLineChart } from '@mui/x-charts';
// or
import { RadialLineChart } from '@mui/x-charts-pro';
// or
import { RadialLineChart } from '@mui/x-charts-premium';

Learn about the difference by reading this guide on minimizing bundle size.

Props

NameTypeDefaultDescription
series*Array<object>-

The series to display in the line chart. An array of LineSeries objects.

colorsArray<string>
| func
rainbowSurgePalette

Color palette used to colorize multiple series.

datasetArray<object>-

An array of objects that can be used to populate series and axes data using their dataKey property.

disableAxisListenerboolfalse

If true, the charts will not listen to the mouse move event. It might break interactive features, but will improve performance.

disableKeyboardNavigationbool-

If true, disables keyboard navigation for the chart.

disableLineItemHighlightbool-

If true, render the line highlight item.

experimentalFeatures{ enablePositionBasedPointerInteraction?: bool }-

Options to enable features planned for the next major.

grid{ circular?: bool, radial?: bool }-

Option to display a cartesian grid in the background.

heightnumber-

The height of the chart in px. If not defined, it takes the height of the parent element.

hiddenItemsArray<{ dataIndex?: number, seriesId: string, type: 'line' }
| { dataIndex?: number, seriesId: string, type?: 'line' }>
-

List of hidden series and/or items.
Different chart types use different keys.

hideLegendbool-

If true, the legend is not rendered.

highlightedItem{ dataIndex?: number, seriesId: string, type: 'line' }
| { dataIndex?: number, seriesId: string }
-

The highlighted item. Used when the highlight is controlled.

idstring-

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.

initialHiddenItemsArray<{ dataIndex?: number, seriesId: string, type: 'line' }
| { dataIndex?: number, seriesId: string, type?: 'line' }>
-

List of initially hidden series and/or items. Used for uncontrolled state.
Different chart types use different keys.

loadingboolfalse

If true, a loading overlay is displayed.

localeTextobject-

Localized text for chart components.

marginnumber
| { 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.
Accepts a number to be used on all sides or an object with the optional properties: top, bottom, left, and right.

onAxisClickfunc-

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 | ChartsAxisData) => void
  • event The mouse event recorded on the <svg/> element.
  • data The data about the clicked axis and items associated with it.
onHiddenItemsChangefunc-

Callback fired when any hidden identifiers change.

Signature:function(hiddenItems: Array<VisibilityIdentifierWithType>) => void
  • hiddenItems The new list of hidden identifiers.
onHighlightChangefunc-

The callback fired when the highlighted item changes.

Signature:function(highlightedItem: HighlightItemIdentifierWithType<SeriesType> | null) => void
  • highlightedItem The newly highlighted item.
onTooltipItemChangefunc-

The callback fired when the tooltip item changes.

Signature:function(tooltipItem: SeriesItemIdentifier<SeriesType> | null) => void
  • tooltipItem The newly highlighted item.
radiusAxisArray<{ classes?: object, className?: string, colorMap?: { color: Array<string>
| func, max?: Date
| number, min?: Date
| number, type: 'continuous' }
| { colors: Array<string>, thresholds: Array<Date
| number>, type: 'piecewise' }, data?: array, dataKey?: string, disableLine?: bool, disableTicks?: bool, domainLimit?: 'nice'
| 'strict'
| func, height?: 'auto'
| number, hideTooltip?: bool, id?: number
| string, ignoreTooltip?: bool, label?: string, labelStyle?: object, max?: number, maxRadius?: number, min?: number, minRadius?: number, offset?: number, position?: 'bottom'
| 'none'
| 'top', reverse?: bool, scaleType?: 'linear', slotProps?: object, slots?: object, sx?: Array<func
| object
| bool>
| func
| object, 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, tickSpacing?: number, valueFormatter?: func }>
-

The configuration of the radial-axes. If not provided, a default axis config is used. An array of AxisConfig objects.

rotationAxisArray<{ barGapRatio?: number, categoryGapRatio?: number, classes?: object, className?: string, colorMap?: { colors: Array<string>, type: 'ordinal', unknownColor?: string, values?: Array<Date
| number
| string> }
| { color: Array<string>
| func, max?: Date
| number, min?: Date
| number, type: 'continuous' }
| { colors: Array<string>, thresholds: Array<Date
| number>, type: 'piecewise' }, data?: array, dataKey?: string, disableLine?: bool, disableTicks?: bool, domainLimit?: 'nice'
| 'strict'
| func, endAngle?: number, groups?: Array<{ getValue: func, tickLabelStyle?: object, tickSize?: number }>, height?: 'auto'
| number, hideTooltip?: bool, id?: number
| string, ignoreTooltip?: bool, label?: string, labelGap?: number, labelStyle?: object, offset?: number, ordinalTimeTicks?: Array<'biweekly'
| 'days'
| 'hours'
| 'months'
| 'quarterly'
| 'weeks'
| 'years'
| { format: func, getTickNumber: func, isTick: func }>, position?: 'bottom'
| 'none'
| 'top', reverse?: bool, scaleType?: 'band', slotProps?: object, slots?: object, startAngle?: number, sx?: Array<func
| object
| bool>
| func
| object, 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, tickSpacing?: number, valueFormatter?: func }
| { classes?: object, className?: string, colorMap?: { colors: Array<string>, type: 'ordinal', unknownColor?: string, values?: Array<Date
| number
| string> }
| { color: Array<string>
| func, max?: Date
| number, min?: Date
| number, type: 'continuous' }
| { colors: Array<string>, thresholds: Array<Date
| number>, type: 'piecewise' }, data?: array, dataKey?: string, disableLine?: bool, disableTicks?: bool, domainLimit?: 'nice'
| 'strict'
| func, endAngle?: number, groups?: Array<{ getValue: func, tickLabelStyle?: object, tickSize?: number }>, height?: 'auto'
| number, hideTooltip?: bool, id?: number
| string, ignoreTooltip?: bool, label?: string, labelGap?: number, labelStyle?: object, offset?: number, ordinalTimeTicks?: Array<'biweekly'
| 'days'
| 'hours'
| 'months'
| 'quarterly'
| 'weeks'
| 'years'
| { format: func, getTickNumber: func, isTick: func }>, position?: 'bottom'
| 'none'
| 'top', reverse?: bool, scaleType?: 'point', slotProps?: object, slots?: object, startAngle?: number, sx?: Array<func
| object
| bool>
| func
| object, 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, tickSpacing?: number, valueFormatter?: func }
| { classes?: object, className?: string, colorMap?: { color: Array<string>
| func, max?: Date
| number, min?: Date
| number, type: 'continuous' }
| { colors: Array<string>, thresholds: Array<Date
| number>, type: 'piecewise' }, data?: array, dataKey?: string, disableLine?: bool, disableTicks?: bool, domainLimit?: 'nice'
| 'strict'
| func, endAngle?: number, height?: 'auto'
| number, hideTooltip?: bool, id?: number
| string, ignoreTooltip?: bool, label?: string, labelGap?: number, labelStyle?: object, max?: number, min?: number, offset?: number, position?: 'bottom'
| 'none'
| 'top', reverse?: bool, scaleType?: 'log', slotProps?: object, slots?: object, startAngle?: number, sx?: Array<func
| object
| bool>
| func
| object, 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, tickSpacing?: number, valueFormatter?: func }
| { classes?: object, className?: string, colorMap?: { color: Array<string>
| func, max?: Date
| number, min?: Date
| number, type: 'continuous' }
| { colors: Array<string>, thresholds: Array<Date
| number>, type: 'piecewise' }, constant?: number, data?: array, dataKey?: string, disableLine?: bool, disableTicks?: bool, domainLimit?: 'nice'
| 'strict'
| func, endAngle?: number, height?: 'auto'
| number, hideTooltip?: bool, id?: number
| string, ignoreTooltip?: bool, label?: string, labelGap?: number, labelStyle?: object, max?: number, min?: number, offset?: number, position?: 'bottom'
| 'none'
| 'top', reverse?: bool, scaleType?: 'symlog', slotProps?: object, slots?: object, startAngle?: number, sx?: Array<func
| object
| bool>
| func
| object, 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, tickSpacing?: number, valueFormatter?: func }
| { classes?: object, className?: string, colorMap?: { color: Array<string>
| func, max?: Date
| number, min?: Date
| number, type: 'continuous' }
| { colors: Array<string>, thresholds: Array<Date
| number>, type: 'piecewise' }, data?: array, dataKey?: string, disableLine?: bool, disableTicks?: bool, domainLimit?: 'nice'
| 'strict'
| func, endAngle?: number, height?: 'auto'
| number, hideTooltip?: bool, id?: number
| string, ignoreTooltip?: bool, label?: string, labelGap?: number, labelStyle?: object, max?: number, min?: number, offset?: number, position?: 'bottom'
| 'none'
| 'top', reverse?: bool, scaleType?: 'pow', slotProps?: object, slots?: object, startAngle?: number, sx?: Array<func
| object
| bool>
| func
| object, 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, tickSpacing?: number, valueFormatter?: func }
| { classes?: object, className?: string, colorMap?: { color: Array<string>
| func, max?: Date
| number, min?: Date
| number, type: 'continuous' }
| { colors: Array<string>, thresholds: Array<Date
| number>, type: 'piecewise' }, data?: array, dataKey?: string, disableLine?: bool, disableTicks?: bool, domainLimit?: 'nice'
| 'strict'
| func, endAngle?: number, height?: 'auto'
| number, hideTooltip?: bool, id?: number
| string, ignoreTooltip?: bool, label?: string, labelGap?: number, labelStyle?: object, max?: number, min?: number, offset?: number, position?: 'bottom'
| 'none'
| 'top', reverse?: bool, scaleType?: 'sqrt', slotProps?: object, slots?: object, startAngle?: number, sx?: Array<func
| object
| bool>
| func
| object, 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, tickSpacing?: number, valueFormatter?: func }
| { classes?: object, className?: string, colorMap?: { color: Array<string>
| func, max?: Date
| number, min?: Date
| number, type: 'continuous' }
| { colors: Array<string>, thresholds: Array<Date
| number>, type: 'piecewise' }, data?: array, dataKey?: string, disableLine?: bool, disableTicks?: bool, domainLimit?: 'nice'
| 'strict'
| func, endAngle?: number, height?: 'auto'
| number, hideTooltip?: bool, id?: number
| string, ignoreTooltip?: bool, label?: string, labelGap?: number, labelStyle?: object, max?: number
| { valueOf: func }, min?: number
| { valueOf: func }, offset?: number, position?: 'bottom'
| 'none'
| 'top', reverse?: bool, scaleType?: 'time', slotProps?: object, slots?: object, startAngle?: number, sx?: Array<func
| object
| bool>
| func
| object, 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, tickSpacing?: number, valueFormatter?: func }
| { classes?: object, className?: string, colorMap?: { color: Array<string>
| func, max?: Date
| number, min?: Date
| number, type: 'continuous' }
| { colors: Array<string>, thresholds: Array<Date
| number>, type: 'piecewise' }, data?: array, dataKey?: string, disableLine?: bool, disableTicks?: bool, domainLimit?: 'nice'
| 'strict'
| func, endAngle?: number, height?: 'auto'
| number, hideTooltip?: bool, id?: number
| string, ignoreTooltip?: bool, label?: string, labelGap?: number, labelStyle?: object, max?: number
| { valueOf: func }, min?: number
| { valueOf: func }, offset?: number, position?: 'bottom'
| 'none'
| 'top', reverse?: bool, scaleType?: 'utc', slotProps?: object, slots?: object, startAngle?: number, sx?: Array<func
| object
| bool>
| func
| object, 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, tickSpacing?: number, valueFormatter?: func }
| { classes?: object, className?: string, colorMap?: { color: Array<string>
| func, max?: Date
| number, min?: Date
| number, type: 'continuous' }
| { colors: Array<string>, thresholds: Array<Date
| number>, type: 'piecewise' }, data?: array, dataKey?: string, disableLine?: bool, disableTicks?: bool, domainLimit?: 'nice'
| 'strict'
| func, endAngle?: number, height?: 'auto'
| number, hideTooltip?: bool, id?: number
| string, ignoreTooltip?: bool, label?: string, labelGap?: number, labelStyle?: object, max?: number, min?: number, offset?: number, position?: 'bottom'
| 'none'
| 'top', reverse?: bool, scaleType?: 'linear', slotProps?: object, slots?: object, startAngle?: number, sx?: Array<func
| object
| bool>
| func
| object, 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, tickSpacing?: number, valueFormatter?: func }>
-

The configuration of the rotation-axes. If not provided, a default axis config is used. An array of AxisConfig objects.

showToolbarboolfalse

If true, shows the default chart toolbar.

skipAnimationboolfalse

If true, animations are skipped.

slotPropsobject{}

The props used for each component slot.

slotsobject{}

Overridable component slots.

See Slots API below for more details.

tooltipItem{ dataIndex?: number, seriesId: string, type: 'line' }
| { dataIndex?: number, seriesId: string }
-

The tooltip item. Used when the tooltip is controlled.

widthnumber-

The width of the chart in px. If not defined, it takes the width of the parent element.

The component cannot hold a ref.

Slots

Slot nameClass nameDefault componentDescription
baseButton
baseIconButton
legendChartsLegendCustom rendering of the legend.
lineLineElementPathThe component that renders the line.
loadingOverlayChartsLoadingOverlayOverlay component rendered when the chart is in a loading state.
noDataOverlayChartsNoDataOverlayOverlay component rendered when the chart has no data to display.
toolbarChartsToolbarCustom component for the toolbar.
tooltipChartsTooltipRootCustom 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.