Join our Discord community
Bar chart

Horizontal Bar Chart

Horizontal bar chart component with category-based layout design. Built for React applications requiring sideways data visualization with Next.js and TypeScript.

Powered by

Loading component...

Installation

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

Features

  • Horizontal layout with vertical orientation for category-based data display
  • Category axis using Y-axis for month names with abbreviated formatting
  • Hidden X-axis focusing attention on data values rather than scale
  • Optimized margins with left margin adjustment (-20) for label accommodation
  • TypeScript support with complete type definitions for horizontal charts
  • shadcn/ui integration using Chart components with horizontal styling

Use Cases

This free open source React component works well for:

  • Category comparisons - Applications requiring sideways data comparison built with Next.js
  • Ranking displays - Lists showing performance or popularity using TypeScript and Tailwind CSS
  • Space-efficient charts - Visualizations where vertical space is limited
  • Text-heavy labels - Charts with long category names requiring horizontal layout

API Reference

ChartBarHorizontal

PropTypeDefaultDescription
classNamestring-Additional CSS classes for the card container

Layout Configuration

Horizontal bar chart with specific axis configuration:

<BarChart
  accessibilityLayer
  data={chartData}
  layout="vertical"
  margin={{
    left: -20,
  }}
>
  <XAxis type="number" dataKey="desktop" hide />
  <YAxis
    dataKey="month"
    type="category"
    tickLine={false}
    tickMargin={10}
    axisLine={false}
    tickFormatter={(value) => value.slice(0, 3)}
  />
</BarChart>

Axis Types

  • X-axis: Numeric type for data values (hidden from display)
  • Y-axis: Category type for month labels with abbreviated formatting

Implementation Notes

  • Layout set to "vertical" for horizontal bar orientation
  • Left margin adjusted to accommodate Y-axis category labels
  • X-axis hidden to focus on relative data comparison
  • Y-axis shows abbreviated month names for compact display
  • Bars feature 5px radius for subtle rounded corners
  • Perfect for applications requiring category-based horizontal data comparison