Best Data Viz
Time Series

Calendar Heatmap

Daily values mapped to a calendar grid, revealing day-of-week and seasonal patterns.

Code Commits

Daily contribution activity over 2025

View data (365 rows)
Chart data table: Code Commits
DateCommits
2025-01-014
2025-01-024
2025-01-034
2025-01-040
2025-01-050
2025-01-065
2025-01-076
2025-01-086
2025-01-096
2025-01-107
2025-01-111
2025-01-121
2025-01-138
2025-01-148
2025-01-158
2025-01-169
2025-01-179
2025-01-183
2025-01-194
2025-01-2010
2025-01-212
2025-01-223
2025-01-233
2025-01-243
2025-01-250
2025-01-260
2025-01-274
2025-01-285
2025-01-295
2025-01-305
2025-01-316
2025-02-010
2025-02-020
2025-02-037
2025-02-047
2025-02-058
2025-02-068
2025-02-078
2025-02-083
2025-02-093
2025-02-109
2025-02-1110
2025-02-1210
2025-02-1310
2025-02-1411
2025-02-150
2025-02-160
2025-02-174
2025-02-184
2025-02-195
2025-02-205
2025-02-215
2025-02-220
2025-02-230
2025-02-247
2025-02-257
2025-02-267
2025-02-278
2025-02-288
2025-03-012
2025-03-023
2025-03-039
2025-03-0410
2025-03-0510
2025-03-0610
2025-03-0711
2025-03-085
2025-03-095
2025-03-1012
2025-03-1112
2025-03-125
2025-03-135
2025-03-145
2025-03-150
2025-03-160
2025-03-177
2025-03-187
2025-03-197
2025-03-208
2025-03-218
2025-03-222
2025-03-233
2025-03-249
2025-03-2510
2025-03-2610
2025-03-2710
2025-03-2811
2025-03-295
2025-03-306
2025-03-3112
2025-04-0112
2025-04-0213
2025-04-0313
2025-04-0413
2025-04-058
2025-04-068
2025-04-077
2025-04-087
2025-04-097
2025-04-108
…and 265 more rows. Download CSV for the full dataset.
Make a calendar heatmap with your data

Use a calendar heatmap when…

  • Daily activity data (commits, sales, exercise)
  • Showing patterns by day of week
  • When seasonal cadence matters more than precise daily values

Avoid when…

  • Non-daily data
  • When precise values matter more than patterns

Data it needs

PropertyValue
Min Rows7
Min Columns2
Column Types
datenumber

Visual anatomy

Marks
rectangle
Channels
color-luminanceposition (calendar grid)
Axes
month/week grid

Guiding principles

Consider instead

Common mistakes

  • Using rainbow colormap

  • Missing legend for color scale

History

Popularized by GitHub's contribution graph in the 2010s.

Accessibility notes

Provide daily values as tooltip or table. Use a perceptually uniform colormap (viridis or ColorBrewer YlGn) so the magnitude ramp survives color-vision deficiencies and grayscale prints.

Related reading

Got data? Let's see what works.

Drop your CSV. You'll get a Calendar Heatmap plus four alternatives - ranked by which one actually fits your data best.