Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Shadcn Chart for React and Tailwind

Visualize data with beautiful charts.

Installation

bunx --bun shadcn@latest add https://kit.dev/r/chart.json

Usage

import { Bar, BarChart, CartesianGrid, XAxis } from "recharts";
import {
  type ChartConfig,
  ChartContainer,
  ChartTooltip,
  ChartTooltipContent,
} from "@/components/ui/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: "#2563eb",
  },
  mobile: {
    label: "Mobile",
    color: "#60a5fa",
  },
} satisfies ChartConfig;

const ChartDemo = () => (
  <ChartContainer
    className="min-h-[200px] w-full max-w-sm"
    config={chartConfig}
  >
    <BarChart accessibilityLayer data={chartData}>
      <CartesianGrid vertical={false} />
      <XAxis
        axisLine={false}
        dataKey="month"
        tickFormatter={(value) => value.slice(0, 3)}
        tickLine={false}
        tickMargin={10}
      />
      <ChartTooltip content={(props) => <ChartTooltipContent {...props} />} />
      <Bar dataKey="desktop" fill="var(--color-desktop)" radius={4} />
      <Bar dataKey="mobile" fill="var(--color-mobile)" radius={4} />
    </BarChart>
  </ChartContainer>
);

API Reference

ChartContainer

PropType
AttributeType

ChartStyle

ChartTooltip

ChartTooltipContent

PropType
CSS variableType

ChartLegend

PropType

ChartLegendContent

PropType

_useChart