Chart Topic
Radar Chart
Sat Mar 14 2026
适合展示多维度能力轮廓或对象画像,不适合承担高度精确的数值比较任务。
为什么要把它单独拿出来
雷达图的阅读方式和其他图表不同。它更像“画像”,适合强调轮廓、平衡性和强弱面,而不是严谨的表格式比较。
"use client";import { PolarAngleAxis, PolarGrid, Radar, RadarChart } from "recharts";import { ChartContainer, ChartTooltip, ChartTooltipContent, type ChartConfig,} from "@/components/ui/chart";const data = [ { metric: "Clarity", score: 82 }, { metric: "Density", score: 64 }, { metric: "Motion", score: 74 }, { metric: "Trust", score: 88 }, { metric: "Novelty", score: 71 }, { metric: "Readability", score: 84 },];const chartConfig = { score: { label: "Score", color: "var(--new-home-accent-2)", },} satisfies ChartConfig;export function RadarChartDemo() { return ( <ChartContainer config={chartConfig} className="min-h-[320px] w-full"> <RadarChart data={data} outerRadius={110}> <ChartTooltip content={ <ChartTooltipContent formatter={(value) => `${value}/100`} /> } /> <PolarGrid /> <PolarAngleAxis dataKey="metric" className="text-xs" /> <Radar dataKey="score" fill="var(--color-score)" fillOpacity={0.32} stroke="var(--color-score)" strokeWidth={2.5} /> </RadarChart> </ChartContainer> );}适合什么场景
- 产品能力雷达、品牌心智雷达、候选人能力画像
- 多维评估结果的可视化摘要
- 想突出“优势面”和“短板面”的展示
不太适合的地方
- 维度非常多时,标签和面形都会变乱
- 需要精确对齐数值时,表格或条形图更可靠
- 面积大小容易让用户产生额外联想,文案解释要跟上
实现要点
- 控制维度数量,优先保留最关键的 5 到 7 个维度。
- 用它表达“轮廓”而不是“精度”。
- 如果要比较两个对象,建议限制在很少的系列数以内。
代码说明
当前这个 demo 适合做“能力画像”类页面的基础版。后续可以进一步扩成双对象对比雷达图,或围绕单一维度做高亮注释。