<StatBarChart>
Vertical column chart with gridlines, per-bar value labels, and an optional legend for grouped series; columns grow in on slide enter (client). Set variant="pixel" for a stacked pixel-cell bar (editorial/print aesthetic) instead of a solid fill.
When to use: A statistics slide comparing real numeric values across categories (not just 0-100 shares like BarRow) — before/after, quarter-over-quarter, or a ranked breakdown with more than one series.
Often with: TrendLineChartBarRowComparisonTiles
Preview
| Prop | Type | Notes |
|---|---|---|
| title | string | Optional. Optional slide heading above the chart. |
| description | string | Optional. Optional one-line subtitle under the title. |
| series | { label: string; tone?: "brand" | "neutral" | "success" | "warning" | "error" | "sky" | "purple" }[] | Optional. Series metadata aligned by index with each category's `values`. Omit for a single unnamed brand series; the legend only renders with more than one series. |
| categories | { label: string; values: number[] }[] | Required. X-axis categories. `values` has one number per series, in the same order as `series`. |
| unit | string | Optional. Suffix appended to value labels and axis ticks, e.g. "%", "h", "k". |
| maxValue | number | Optional. Force the axis scale instead of deriving it from the data; useful to keep several charts visually comparable. |
| gridLines | number | Optional. Default: 4. Number of horizontal gridlines above zero. Ignored when variant="pixel". |
| variant | "solid" | "pixel" | Optional. Default: solid. "pixel" draws each bar as a column of small on/off cells instead of one solid rectangle, for a printed-ledger/graph-paper look.Values: solid, pixel |
| pixelCells | number | Optional. Default: 10. Number of cells per bar when variant="pixel". |
| tween | object | Optional. Optional GSAP vars for the column entrance. |
Examples
<StatBarChart
title="Manual hours per week by team"
description="Baseline measured in week 1"
unit="h"
series={[{ label: "Before", tone: "neutral" }, { label: "After", tone: "brand" }]}
categories={[
{ label: "Finance", values: [38, 12] },
{ label: "Operations", values: [29, 9] },
{ label: "HR", values: [21, 6] }
]}
/><StatBarChart
title="Reader response, by quarter"
description="Newsletter opens · 2024 Q1 — 2026 Q1"
unit="%"
variant="pixel"
categories={[
{ label: "Q1 24", values: [40] },
{ label: "Q2 24", values: [50] },
{ label: "Q1 26", values: [90] }
]}
/>