Skip to content

Punch card

Activity by weekday and hour, as sized dots.

Definition · Updated Nov 2, 2026

A punch card puts weekdays down the side and hours across, and draws a dot in each cell sized by activity. Peak hours stand out as the biggest dots. Use it for API calls, commits or support load by time of week.

Pay once. Every update included.

Live preview

API calls by hourAPI calls (thousands) per hour for each day of the last week: busiest WED 10:00 with 116; weekends stay under 39.MONTUEWEDTHUFRISATSUN0006121823CALLSPEAK HOURS
API calls by hour
Day000102030405060708091011121314151617181920212223
MON97557103152891131027873691111038059543625211613
TUE9744714356278981159371741071049184453729222213
WED964471031499485116947176851007872593732262014
THU95446143155909182747972951088774524327212114
FRI9743512305474771029282761001078962553930281814
SAT321124920253630382826303426231815121074
SUN421124111530283438302728353525181212954

Sample data: API calls by weekday and hour, Monday to Sunday, 00 to 23

Size
Legend
Data shape
A count per weekday and hour
Good for
API calls, commits, support load
Avoid when
Exact values per cell matter
Sizes
XS, S, M and L, re-laid out from the data

Anatomy

Inspect it like the Figma file.

The same layers, names and tokens as the component. Select one to read its size, fill and style.

Layers

086 / Punch card

chart/086-punch-card-api
plot · punch card
Layer
punch
Type
Ellipse
Size
20 × 20
Fill
data/primary
Group
Marks · 168

Layers

086 / Punch card

chart/086-punch-card-api
plot · punch card
Layer
punch
Type
Ellipse
Size
2 × 2
Fill
data/primary-soft
Group
Marks · 168

Sizes

Re-laid out, never scaled.

The same data at XS, S, M and L. Every size is redrawn from the data, so text and line weights never shrink.

M against S

Width360 px480 px

Plot328 px440 px

Labels1212

Marks168168

Height212 px246 px

Same tokens at every size: text styles, 1 px lines and mark radius stay put.

When to use

When the load comes.

Three signs it fits, and three signs another type fits better.

Are dot sizes enough?

Shaded cells.

Yes: Keep the punch card

Is a grid wanted?

A round week.

Yes: Keep the punch card

Is it counts, not runs?

A week of runs with a now marker.

Yes: Keep the punch card

Code and Figma

One name in Figma and in code.

Every Figma property is a prop with the same name and values. One command installs it.

Figma

chart/086-punch-card-api

size
legend
Property = propValuesDefault
size"xs" · "s" · "m" · "l""xs"
legendtrue · falsetrue
color"cat-1" · "cat-2" · "cat-3" · "cat-4""cat-1"
npx shadcn add @chartory/punch-card
punch-card.tsx
import { PunchCard } from "@/components/chartory/punch-card"import { apiCalls } from "./api-calls"export function ApiCalls() {  return (    <PunchCard      data={apiCalls}      size="m"      legend={true}    />  )}

Hearth widget

Punch card as a widget.

The chart in a Hearth card with a hero number and two blocks. One token set, light and dark.

Code
Get the code

EmberPreset

ChartoryDefault preset

Pick the blocks, the size and the preset for your own widget.

Read the Hearth widget docs

FAQ

Punch card questions.

What people ask before they put a punch card in a dashboard.

Something else?

hello@usechartory.com
  • The number of calls in that hour; the legend names calls and peak hours.

Related types

The same question, a different shape of answer. Every type ships in Figma and in code.

Same family

Schedule and status

19 types in Chartory answer this question.