Skip to content
misoto22 design

Charts

RadarChart

A profile across several named dimensions.

When to reach for it

Recognising a silhouette. The area a radar encloses depends on the order its spokes happen to be in, so it is the wrong chart for comparing magnitudes.

Examples

default

Team profile
Team profile
skillCurrent
Design86
Research64
Writing72
Delivery91
Review58
Support77

variant and grid

Team profile
Team profile
skillCurrentTarget
Design8695
Research6480
Writing7278
Delivery9188
Review5875
Support7770

loading

Team profile
Loading

Notes

A profile across several named dimensions — the shape for "what is this thing strong and weak at".

It reads a SHAPE, not a set of values: the area a radar encloses depends on the order the spokes happen to be in, so it is the wrong chart for comparing magnitudes and the right one for recognising a silhouette. Two or three series at most.

Props

RadarChart props
PropTypeDefaultDescription
childrenrequiredReactNodeThe composed parts — axes, grid, tooltip, legend, and the marks themselves.
configrequiredTConfig & ValidateKeys<TData, TConfig>
datarequiredTData[]The rows the chart draws. One entry per point, bar or category.
titlerequiredstringWhat the chart shows, in a sentence a reader could act on. Required, and announced to a screen reader even when it is not printed.
angleDataKeykeyof TData & stringThe row field naming each spoke. Used by the table view.
chartPropsComponentProps<typeof RechartsRadarChart>Escape hatch onto the raw Recharts chart element.
classNamestringMerged onto the figure, last, so a call site can size or space it.
defaultSelectedDataKeystring | nullnullThe series lit on first render. Selection dims every other series.
descriptionReactNodeA line under the title — the unit, the window, the caveat.
hideDataTablebooleanfalseDrops the hidden table view. Only correct when the page prints the data itself.
isLoadingbooleanfalseSwaps the marks for an animated skeleton, keeping the measured height so the page does not jump when the data lands.
loadingPointsnumberHow many points the skeleton draws.
onSelectionChange(selectedDataKey: string | null) => voidFires when the selection changes, and with null when it is cleared.
showTitlebooleanPrints the title above the plot instead of hiding it from sight.

Types

TSX
export type RadarVariant = 'filled' | 'lines'

Accessibility

  • title is required; the rows are also rendered as a visually hidden table.
  • Two or three series at most: filled polygons overlap, and judging areas through two layers of translucency is what a radar is worst at. Past that, variant="lines".