Skip to content
InsightCharts

Search

Search guides and components

Progress meter

A labelled horizontal meter of one value against a maximum or target, with the target marked and the value printed.

Use when
Progress toward a goal, a quota or a capacity: funds raised, budget spent, share of a target reached. Stack several with size: "sm" to compare progress across a few items.
Avoid when
Comparing more than a handful of items (use bar chart), anything without a meaningful end point (use big number), or a gauge dial.

Preview

Homes with a heat pump or district heating46%
2030 target 70%
Up from 31% in 2020. At the current rate the target is reached in 2033.

Composition

Used in

1 template uses progress meter.

Templates

1

A section of an analytical report laid out as a document. It has a title block, a summary, numbered findings, then method, limitations and sources. Each finding has one exhibit, an observation and a separately labelled interpretation with a confidence rating and a caveat.

Installation

$ pnpm dlx shadcn@latest add @insightcharts/progress-meter

The CLI copies the source into your project and needs the @insightcharts registry in components.json; see installation. With the package, import it by name:

import { ProgressMeter } from "insightcharts";

Examples

Against a maximum

Annual carbon budget used318 Mt of 400 Mt
With ten weeks of the year left.

Target passed

Fundraising round$2.3M
Target $2M
Closed 17% above the goal.

Small, low value

Rural fibre coverage8%
Goal 95%

Props

PropTypeDefaultDescription
valuerequirednumberThe current value.
labelrequiredstringWhat is measured, sentence case.
maxnumberEnd of the track. Defaults to the target, or 1 with no target.
minnumber0Start of the track.
targetnumberA goal or threshold, drawn as a tick and labelled.
targetLabelstring"Target"Name for the target tick.
showMaxbooleanPrint "of {max}" after the value. Default: only when max is given.
contextstringA line under the meter that gives the number meaning.
formatFormatSpecNumber format. Defaults to "percent" when the track ends at 1 or less, otherwise "auto".
tone"accent" | "positive" | "negative" | "neutral""accent"Fill colour by meaning.
size"sm" | "md""md"sm for dense stacks.