Sawana Huang Avatar

Sawana Huang

Chart Topic

Bar Chart

Sat Mar 14 2026

用于类别比较的基础图表类型,适合做排行榜、渠道对比和维度之间的绝对值比较。

为什么先做它

柱状图几乎是所有业务图表里最稳的起点。它不需要用户学习额外的阅读方式,只要看高度,就能理解差异。

"use client";import {  Bar,  BarChart,  CartesianGrid,  LabelList,  XAxis,  YAxis,} from "recharts";import {  ChartContainer,  ChartTooltip,  ChartTooltipContent,  type ChartConfig,} from "@/components/ui/chart";const data = [  { month: "Jan", desktop: 182, mobile: 124 },  { month: "Feb", desktop: 198, mobile: 142 },  { month: "Mar", desktop: 236, mobile: 168 },  { month: "Apr", desktop: 228, mobile: 174 },  { month: "May", desktop: 264, mobile: 193 },];const chartConfig = {  desktop: {    label: "Desktop",    color: "var(--new-home-accent-2)",  },  mobile: {    label: "Mobile",    color: "var(--new-home-accent-4)",  },} satisfies ChartConfig;export function BarChartDemo() {  return (    <ChartContainer config={chartConfig} className="min-h-[320px] w-full">      <BarChart data={data} margin={{ top: 18, right: 12, left: -12 }}>        <CartesianGrid vertical={false} strokeDasharray="3 3" />        <XAxis dataKey="month" tickLine={false} axisLine={false} />        <YAxis tickLine={false} axisLine={false} width={36} />        <ChartTooltip content={<ChartTooltipContent indicator="dashed" />} />        <Bar          dataKey="desktop"          radius={[10, 10, 0, 0]}          fill="var(--color-desktop)"        >          <LabelList            position="top"            className="fill-foreground text-[10px] font-medium"          />        </Bar>        <Bar          dataKey="mobile"          radius={[10, 10, 0, 0]}          fill="var(--color-mobile)"        />      </BarChart>    </ChartContainer>  );}

适合什么场景

  • 比较不同渠道、产品、国家、团队的表现差异
  • 做榜单、Top N 排序、活动结果对比
  • 给首页 dashboard 放一块“一眼能读懂”的核心指标图

不太适合的地方

  • 类别太多时会拥挤,标签阅读成本会变高
  • 想表达“趋势”时,折线图通常更自然
  • 如果重点是“占比”,donut 或 stacked bar 往往更合适

实现要点

  1. 保持类目数量克制,优先控制在 5 到 8 个以内。
  2. 重要系列只保留一到两种强调色,不要把色板铺满。
  3. 若要突出重点,可通过排序、标注和值标签来建立视觉优先级。

代码说明

这个示例基于 recharts 与项目内的 @/components/ui/chart 封装,已经包含 tooltip 和基础样式体系,适合作为后续更多柱状图专题页的母版。