Skip to content
Back to skills

Radar Chart

ASecurity

Radar (spider) chart built on top of RadialAreaChart. Displays multi-category data as a closed polygon with points on radial axes. Supports grouped multi-series, filled areas with gradients, and configurable radial axes.

  • 4 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aigoreact

Works with

  • cli

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add reaviz/skills --skill radar-chart --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Radar Chart?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Radar Chart
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/reaviz-radar-chart/badge)](https://www.skillsdirectory.com/skills/reaviz-radar-chart)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# RadarChart

Radar (spider) chart built on top of RadialAreaChart. Displays multi-category data as a closed polygon with points on radial axes. Supports grouped multi-series, filled areas with gradients, and configurable radial axes.

## Import

```tsx
import {
  RadarChart,
  RadarChartSeries,
  RadialArea,
  RadialLine,
  RadialPointSeries,
  RadialAxis,
  RadialAxisArcSeries,
  RadialAxisTickSeries,
  RadialAxisArcLine
} from 'reaviz';
```

## RadarChart Props

Extends RadialAreaChart props.

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `data` | `ChartNestedDataShape[]` | `[]` | Chart data (nested multi-series) |
| `width` | `number` | auto | Width in pixels |
| `height` | `number` | auto | Height in pixels |
| `margins` | `Margins` | `75` | Chart margins |
| `innerRadius` | `number` | `0.1` | Inner radius ratio |
| `series` | `ReactElement<RadarChartSeriesProps>` | `<RadarChartSeries />` | Series component |
| `axis` | `ReactElement<RadialAxisProps> \| null` | `<RadialAxis />` | Radial axis component |
| `startAngle` | `number` | `0` | Start angle in radians |
| `endAngle` | `number` | `Math.PI * 2` | End angle in radians |
| `isClosedCurve` | `boolean` | `true` | Close the polygon curve |
| `className` | `string` | — | SVG CSS class |
| `containerClassName` | `string` | — | Container div CSS class |

## RadarChartSeries Props

Extends RadialAreaSeries props with radar-specific defaults.

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `type` | `'standard' \| 'grouped'` | `'grouped'` | Series type |
| `animated` | `boolean` | `true` | Enable animations |
| `interpolation` | `'linear' \| 'smooth'` | `'smooth'` | Curve interpolation |
| `colorScheme` | `ColorSchemeType` | `schemes.cybertron` | Color scheme |
| `area` | `ReactElement<RadialAreaProps> \| null` | `null` | Area fill (disabled by default) |
| `line` | `ReactElement<RadialLineProps> \| null` | `<RadialLine />` | Line component |
| `symbols` | `ReactElement<RadialPointSeriesProps> \| null` | `<RadialPointSeries show />` | Data point symbols (always visible) |
| `tooltip` | `ReactElement<TooltipAreaProps>` | `<TooltipArea />` | Tooltip component |
| `valueMarkers` | `ReactElement<RadialValueMarkerProps>[] \| null` | — | Value marker lines |
| `isClosedCurve` | `boolean` | `true` | Close the polygon |

## RadialLine Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `strokeWidth` | `number` | `2` | Line thickness |
| `animated` | `boolean` | `true` | Enable animations |
| `isClosedCurve` | `boolean` | `true` | Close the curve |
| `className` | `string` | — | CSS class |

## RadialArea Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `gradient` | `ReactElement<RadialGradientProps> \| null` | `<RadialGradient />` | Gradient fill |
| `isClosedCurve` | `boolean` | `true` | Close the curve |
| `className` | `string` | — | CSS class |

## RadialPointSeries Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `show` | `boolean \| 'hover' \| 'first' \| 'last'` | `'hover'` | When to show points |
| `point` | `ReactElement<RadialScatterPointProps>` | `<RadialScatterPoint />` | Point element |

## RadialAxis Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `type` | `'value' \| 'time' \| 'category'` | `'value'` | Axis type |
| `innerRadius` | `number` | `10` | Inner radius |
| `arcs` | `ReactElement<RadialAxisArcSeriesProps> \| null` | `<RadialAxisArcSeries />` | Background arcs |
| `ticks` | `ReactElement<RadialAxisTickSeriesProps> \| null` | `<RadialAxisTickSeries />` | Tick marks/labels |
| `startAngle` | `number` | `0` | Start angle |
| `endAngle` | `number` | `Math.PI * 2` | End angle |

## RadialAxisArcSeries Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `count` | `number` | `12` | Number of concentric arcs |
| `arc` | `ReactElement<RadialAxisArcProps>` | `<RadialAxisArc />` | Arc element |

## Basic Usage

```tsx
const data = [
  { key: 'Q1', data: [
    { key: 'Speed', data: 80 },
    { key: 'Reliability', data: 70 },
    { key: 'Comfort', data: 60 },
    { key: 'Safety', data: 90 },
    { key: 'Efficiency', data: 75 },
  ]},
  { key: 'Q2', data: [
    { key: 'Speed', data: 65 },
    { key: 'Reliability', data: 85 },
    { key: 'Comfort', data: 70 },
    { key: 'Safety', data: 80 },
    { key: 'Efficiency', data: 90 },
  ]},
];

<RadarChart
  height={500}
  width={500}
  data={data}
/>
```

## Filled Radar (with Area)

```tsx
import { RadialArea, RadialGradient, GradientStop } from 'reaviz';

<RadarChart
  data={data}
  height={500}
  width={500}
  series={
    <RadarChartSeries
      area={
        <RadialArea
          gradient={
            <RadialGradient
              stops={[
                <GradientStop offset="0%" stopOpacity={0.1} key="start" />,
                <GradientStop offset="80%" stopOpacity={0.3} key="stop" />,
              ]}
            />
          }
        />
      }
    />
  }
/>
```

## Custom Axis Arcs

```tsx
<RadarChart
  data={data}
  axis={
    <RadialAxis
      type="category"
      arcs={<RadialAxisArcSeries count={5} />}
      ticks={<RadialAxisTickSeries />}
    />
  }
/>
```

## No Points (Line Only)

```tsx
<RadarChart
  data={data}
  series={<RadarChartSeries symbols={null} />}
/>
```

## Custom Line Width

```tsx
import { RadialLine } from 'reaviz';

<RadarChart
  data={data}
  series={
    <RadarChartSeries
      line={<RadialLine strokeWidth={4} />}
    />
  }
/>
```

## Notes

- RadarChart is a wrapper around RadialAreaChart with radar-specific defaults: `area={null}`, `type="grouped"`, `symbols` always visible
- Data must be nested (`ChartNestedDataShape[]`) — each top-level entry is a series, inner entries are category values
- Categories should be consistent across all series for proper axis alignment
- `interpolation="smooth"` produces rounded polygons; use `"linear"` for sharp-cornered radar shapes
- Default margins are `75` to accommodate axis labels around the perimeter

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.