Components
Composable chart primitives built on Recharts with theme-aware colors, tooltips, and legends.
Loading preview...
"use client"
import { PolarAngleAxis, PolarGrid, Radar, RadarChart } from "recharts"
import {
ChartConfig,
ChartContainer,
ChartLegend,
ChartLegendContent,
ChartTooltip,
ChartTooltipContent,
} from "@/components/ui/interfaces-chart"
const chartData = [
{ month: "January", desktop: 186, mobile: 80 },
{ month: "February", desktop: 305, mobile: 200 },
{ month: "March", desktop: 237, mobile: 120 },
{ month: "April", desktop: 73, mobile: 190 },
{ month: "May", desktop: 209, mobile: 130 },
{ month: "June", desktop: 214, mobile: 140 },
]
const chartConfig = {
desktop: { label: "Desktop", color: "var(--chart-1)" },
mobile: { label: "Mobile", color: "var(--chart-2)" },
} satisfies ChartConfig
export default function ChartRadarDemo() {
return (
<div className="flex w-full min-h-screen items-center justify-center overflow-hidden bg-background p-8">
<div className="w-full max-w-2xl rounded-2xl border bg-card p-6 shadow-sm">
<div className="mb-4">
<h3 className="text-lg font-semibold text-foreground">Radar Chart</h3>
<p className="text-sm text-muted-foreground">January - June 2024</p>
</div>
<ChartContainer config={chartConfig} className="mx-auto aspect-square max-h-[250px] w-full max-w-[320px]">
<RadarChart data={chartData}>
<ChartTooltip cursor={false} content={<ChartTooltipContent />} />
<PolarGrid />
<PolarAngleAxis dataKey="month" />
<Radar name="Desktop" dataKey="desktop" stroke="var(--color-desktop)" fill="var(--color-desktop)" fillOpacity={0.2} />
<Radar name="Mobile" dataKey="mobile" stroke="var(--color-mobile)" fill="var(--color-mobile)" fillOpacity={0.2} />
<ChartLegend className="mt-4" content={<ChartLegendContent />} />
</RadarChart>
</ChartContainer>
</div>
</div>
)
}
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...
Loading preview...