Skip to main content
Pricing

Heatmap Calendar

Pro

A grid of coloured cells arranged in a calendar layout (weeks as columns, days as rows), where colour intensity represents data magnitude. Rendered as SVG rectangles. Used for visualising activity frequency, contributions, or any daily metric over months. Includes a colour scale legend and month labels.

4 variants

Less
More

Variants

VariantDescriptionWhen to use
DefaultFull-year calendar heatmap with 5-level colour intensity scale.Use for showing daily activity over a year — commit history, workout streaks, usage patterns.
With Tooltip

Usage Guidelines

Do

Use a sequential colour scale (light to dark) for intensity.

Don't

Use diverging colour scales unless the data has a meaningful midpoint.

Do

Include a legend showing what each colour level represents.

Don't

Omit the colour legend — users cannot interpret intensity without it.

Do

Add tooltips on hover showing the exact date and value.

Don't

Rely on colour alone — provide exact values via tooltips and hidden table.

Do

Provide a data table alternative listing dates and values for screen reader users.

Don't

Use more than 5 colour intensity levels — subtle differences become indistinguishable.

Code

This component is included in Lexicon Pro

From €149 — one-time purchase, lifetime access

View pricing

Design Tokens

This component is included in Lexicon Pro

From €149 — one-time purchase, lifetime access

View pricing

Accessibility

  • Use role="img" with aria-label and aria-describedby for a summary.
  • Include a hidden data table with date and value columns.
  • Tooltips should be keyboard-accessible for each cell.
  • Colour intensity must be paired with value labels in tooltips.
  • Month and weekday labels should be visible text, not relying on spatial position alone.

Keyboard Interactions

TabMoves focus to the heatmap container.
ArrowLeft/ArrowRightNavigates between days within a week.
ArrowUp/ArrowDownNavigates between weeks.
Enter/SpaceOpens a tooltip for the focused cell.
EscapeDismisses the tooltip.