用途:shadcn Chart 是 Recharts 之上的轻量主题与提示/图例封装层,不替代 Recharts。使用时把 Recharts 图表元素作为 ChartContainer 的子元素,由封装注入基于 ChartConfig 的 CSS 变量(--color-<dataKey>),让颜色跟随明暗主题,避免内联十六进制色值。安装:npx shadcn@latest add chart,会生成 components/ui/chart.tsx 并在 package.json 加入 recharts 依赖。
主要能力:ChartContainer 提供 ChartConfig 上下文并注入 CSS 变量;ChartTooltip/ChartTooltipContent 与 ChartLegend/ChartLegendContent 提供主题化提示与图例;ChartConfig 统一管理系列标签、图标与颜色。支持 Bar、Line、Area、Pie、Radar、Scatter、Composed、RadialBar 等图表类型。
必要用法:导入图表的文件必须在首行加 'use client';ChartContainer 必须传 config,并设置明确高度(如 className="min-h-[200px] w-full" 或 aspect-video);Recharts 子元素用 var(--color-<dataKey>) 引用颜色;在 globals.css 的 :root 与 .dark 中定义 --chart-1 至 --chart-5。
限制:不要在服务端组件中渲染图表封装;不要直接传内联 hex/hsl/oklch;不要省略 config;不要直接用 Recharts.Tooltip/Legend;不要把 ChartContainer 再包进 ResponsiveContainer。缺失 'use client' 会导致构建报错,缺少高度约束会渲染为 0 像素。具体 API 细节与示例以官方参考文件为准。