components/charts/radar-chart-multiple.tsx
"use client"
import { PolarAngleAxis, PolarGrid, Radar, RadarChart } from "recharts"
import {
Card,
CardContent,
CardDescription,
CardHeader,
CardTitle,
} from "@/components/ui/card"
import {
type ChartConfig,
ChartContainer,
ChartTooltip,
ChartTooltipContent,
} from "@/components/ui/chart"
const chartData = [
{ skill: "Cardio", thisMonth: 86, lastMonth: 72 },
{ skill: "Strength", thisMonth: 62, lastMonth: 58 },
{ skill: "Flexibility", thisMonth: 48, lastMonth: 55 },
{ skill: "Balance", thisMonth: 70, lastMonth: 60 },
{ skill: "Endurance", thisMonth: 80, lastMonth: 66 },
{ skill: "Speed", thisMonth: 74, lastMonth: 70 },
]
const chartConfig = {
thisMonth: { label: "This month", color: "var(--color-green-500)" },
lastMonth: { label: "Last month", color: "var(--chart-5)" },
} satisfies ChartConfig
export function RadarChartMultiple() {
return (
<Card variant="filled" size="sm">
<CardHeader>
<CardTitle>Comparison</CardTitle>
<CardDescription>This month and last month</CardDescription>
</CardHeader>
<CardContent>
<ChartContainer
config={chartConfig}
className="aspect-auto h-56 w-full"
>
<RadarChart accessibilityLayer data={chartData} outerRadius="70%">
<ChartTooltip
cursor={false}
content={<ChartTooltipContent indicator="line" />}
/>
<PolarGrid stroke="var(--border)" />
<PolarAngleAxis dataKey="skill" />
<Radar
dataKey="lastMonth"
stroke="var(--color-lastMonth)"
fill="var(--color-lastMonth)"
fillOpacity={0.18}
strokeWidth={2}
/>
<Radar
dataKey="thisMonth"
stroke="var(--color-thisMonth)"
fill="var(--color-thisMonth)"
fillOpacity={0.18}
strokeWidth={2}
/>
</RadarChart>
</ChartContainer>
</CardContent>
</Card>
)
}

































