AniUI

Radar Chart

Compare multivariate data across axes on a radial polygon grid.

Default

app/chart-demo.tsx
import { RadarChart } from "@/components/ui/radar-chart";

const data = [
  { label: "Math", value: 120 },
  { label: "Chinese", value: 98 },
  { label: "English", value: 86 },
  { label: "Geography", value: 99 },
  { label: "Physics", value: 85 },
  { label: "History", value: 65 },
];

export function MyRadarChart() {
  return <RadarChart data={data} />;
}

Installation

npx @aniui/cli add radar-chart

Multiple Series

Overlay multiple data series for comparison.

import { RadarChart } from "@/components/ui/radar-chart";

const series = [
  { data, color: "#2563eb" },
  { data: data2, color: "#f97316" },
];

export function MultiRadarChart() {
  return <RadarChart series={series} />;
}

Filled

Higher fill opacity for a solid appearance.

import { RadarChart } from "@/components/ui/radar-chart";

export function FilledRadarChart() {
  return <RadarChart data={data} fillOpacity={0.5} />;
}

With Dots

Data points visible at each axis vertex.

import { RadarChart } from "@/components/ui/radar-chart";

export function RadarChartWithDots() {
  return <RadarChart data={data} showDots />;
}

Custom Grid

Configurable number of concentric grid levels.

import { RadarChart } from "@/components/ui/radar-chart";

export function RadarChartCircleGrid() {
  return <RadarChart data={data} gridLevels={5} />;
}

With Legend

Multi-series radar chart with axis labels and dots.

import { RadarChart } from "@/components/ui/radar-chart";

export function RadarChartWithLegend() {
  return (
    <RadarChart
      series={series}
      showLabels
      showDots
      height={240}
    />
  );
}

Props

PropTypeDefault
data
{ label: string; value: number }[]
height
number
200
color
string
"#2563eb"
fillOpacity
number
0.2
showGrid
boolean
true
showDots
boolean
false
showLabels
boolean
true
gridLevels
number
4
series
{ data, color, fillOpacity? }[]
className
string