Join our Discord community
Bar chart

Grouped Bar Chart

Multiple bar chart component with side-by-side data comparison. Built for React applications requiring dual data series visualization with Next.js and TypeScript.

Powered by

Loading component...

Installation

npx shadcn@latest add https://www.shadcn.io/registry/bar-chart-04.json
npx shadcn@latest add https://www.shadcn.io/registry/bar-chart-04.json
pnpm dlx shadcn@latest add https://www.shadcn.io/registry/bar-chart-04.json
bunx shadcn@latest add https://www.shadcn.io/registry/bar-chart-04.json

Features

  • Multiple data series displaying desktop and mobile data side-by-side
  • Dashed tooltip indicator providing clear visual distinction between series
  • Dual color scheme using distinct colors for each data category
  • Side-by-side bars enabling direct comparison between data points
  • TypeScript support with complete type definitions for multi-series charts
  • shadcn/ui integration using Chart components with multiple series styling

Use Cases

This free open source React component works well for:

  • Comparative analysis - Applications requiring side-by-side data comparison built with Next.js
  • Performance metrics - Dual metrics visualization using TypeScript and Tailwind CSS
  • User engagement - Desktop vs mobile analytics with clear visual separation
  • Business intelligence - Multi-category data analysis with grouped presentation

API Reference

ChartBarMultiple

PropTypeDefaultDescription
classNamestring-Additional CSS classes for the card container

Multi-Series Configuration

Dual data series with distinct styling:

const chartConfig = {
  desktop: {
    label: "Desktop",
    color: "var(--chart-1)",
  },
  mobile: {
    label: "Mobile",
    color: "var(--chart-2)",
  },
} satisfies ChartConfig

Tooltip Configuration

Enhanced tooltip with dashed indicator for multi-series data:

<ChartTooltip
  cursor={false}
  content={<ChartTooltipContent indicator="dashed" />}
/>

Multiple Bar Elements

Two Bar components for side-by-side display:

<Bar dataKey="desktop" fill="var(--color-desktop)" radius={4} />
<Bar dataKey="mobile" fill="var(--color-mobile)" radius={4} />

Implementation Notes

  • Two Bar components create grouped side-by-side visualization
  • Dashed tooltip indicator distinguishes between data series
  • Each series uses distinct colors from the chart configuration
  • Bars feature 4px radius for subtle rounded corners
  • CartesianGrid excludes vertical lines for cleaner comparison
  • Perfect for applications requiring direct comparison between two data categories