Calendar heatmap

A year of daily commits in a contribution calendar.

Why it matters dedicated calendar type: real week/month layout, month labels, weekday rows, colour ranges, nulls distinct from zero

Chart type
Calendar calendar
Tier
Free Core
Collection
Heatmap
Render
Live, site theme
View .md Agent setup
LIVE/heatmap/calendar-heatmap9 of 10 in Heatmap

Configuration

Shortened here · 17 kB in full Raw Standalone
const options = {
  chart: {
    height: 260,
    fontFamily: "Inter, Geist, \"IBM Plex Sans\", system-ui, sans-serif",
    type: "calendar",
    toolbar: {
      show: false
    }
  },
  series: [
    {
      name: "Commits",
      data: [
        {
          x: "2025-01-01",
          y: 6
        },
        {
          x: "2025-01-02",
          y: 2
        },
        {
          x: "2025-01-03",
          y: 1
        },
        {
          x: "2025-01-04",
          y: 1
        },
        {
          x: "2025-01-06",
          y: 4
        },
        {
          x: "2025-01-07",
          y: 1
        },
        {
          x: "2025-01-08",
          y: 1
        },
        {
          x: "2025-01-10",
          y: 3
        },
        {
          x: "2025-01-12",
          y: 2
        },
        {
          x: "2025-01-14",
          y: 1
        },
        {
          x: "2025-01-15",
          y: 3
        },
        {
          x: "2025-01-17",
          y: 2
        },
        {
          x: "2025-01-18",
          y: 1
        },
        {
          x: "2025-01-20",
          y: 0
        },
        {
          x: "2025-01-21",
          y: 3
        },
        {
          x: "2025-01-22",
          y: 4
        },
        {
          x: "2025-01-23",
          y: 4
        },
        {
          x: "2025-01-24",
          y: 0
        },
        {
          x: "2025-01-27",
          y: 12
        },
        {
          x: "2025-01-28",
          y: 5
        },
        {
          x: "2025-01-29",
          y: 7
        },
        {
          x: "2025-01-30",
          y: 1
        },
        {
          x: "2025-01-31",
          y: 1
        },
        {
          x: "2025-02-03",
          y: 5
        },
        {
          x: "2025-02-04",
          y: 1
        },
        {
          x: "2025-02-05",
          y: 8
        },
        {
          x: "2025-02-06",
          y: 10
        },
        {
          x: "2025-02-07",
          y: 7
        },
        {
          x: "2025-02-10",
          y: 0
        },
        {
          x: "2025-02-11",
          y: 2
        },
        {
          x: "2025-02-12",
          y: 4
        },
        {
          x: "2025-02-14",
          y: 1
        },
        {
          x: "2025-02-15",
          y: 1
        },
        {
          x: "2025-02-16",
          y: 3
        },
        {
          x: "2025-02-17",
          y: 4
        },
        {
          x: "2025-02-18",
          y: 3
        },
        {
          x: "2025-02-19",
          y: 6
        },
        {
          x: "2025-02-21",
          y: 7
        },
        {
          x: "2025-02-25",
          y: 2
        },
        {
          x: "2025-02-26",
          y: 1
        },
        {
          x: "2025-02-27",
          y: 1
        },
        {
          x: "2025-02-28",
          y: 0
        },
        {
          x: "2025-03-06",
          y: 9
        },
        {
          x: "2025-03-07",
          y: 0
        },
        {
          x: "2025-03-10",
          y: 0
        },
        {
          x: "2025-03-11",
          y: 3
        },
        {
          x: "2025-03-12",
          y: 1
        },
        {
          x: "2025-03-13",
          y: 6
        },
        {
          x: "2025-03-14",
          y: 6
        },
        {
          x: "2025-03-17",
          y: 0
        },
        {
          x: "2025-03-18",
          y: 3
        },
        {
          x: "2025-03-19",
          y: 6
        },
        {
          x: "2025-03-20",
          y: 2
        },
        {
          x: "2025-03-21",
          y: 4
        },
        {
          x: "2025-03-24",
          y: 4
        },
        {
          x: "2025-03-26",
          y: 5
        },
        {
          x: "2025-03-27",
          y: 0
        },
        {
          x: "2025-03-28",
          y: 5
        },
        {
          x: "2025-03-30",
          y: 2
        },
        {
          x: "2025-03-31",
          y: 3
        },
        {
          x: "2025-04-01",
          y: 2
        },
        {
          x: "2025-04-02",
          y: 10
        },
        {
          x: "2025-04-03",
          y: 2
        },
        {
          x: "2025-04-07",
          y: 3
        },
        {
          x: "2025-04-08",
          y: 2
        },
        {
          x: "2025-04-09",
          y: 0
        },
        {
          x: "2025-04-10",
          y: 0
        },
        {
          x: "2025-04-11",
          y: 4
        },
        {
          x: "2025-04-12",
          y: 1
        },
        {
          x: "2025-04-14",
          y: 4
        },
        {
          x: "2025-04-15",
          y: 2
        },
        {
          x: "2025-04-16",
          y: 1
        },
        {
          x: "2025-04-17",
          y: 13
        },
        {
          x: "2025-04-18",
          y: 6
        },
        {
          x: "2025-04-19",
          y: 3
        },
        {
          x: "2025-04-21",
          y: 1
        },
        {
          x: "2025-04-22",
          y: 4
        },
        {
          x: "2025-04-23",
          y: 1
        },
        {
          x: "2025-04-27",
          y: 0
        },
        {
          x: "2025-04-28",
          y: 1
        },
        {
          x: "2025-04-29",
          y: 0
        },
        {
          x: "2025-04-30",
          y: 1
        },
        {
          x: "2025-05-01",
          y: 4
        },
        {
          x: "2025-05-02",
          y: 3
        },
        {
          x: "2025-05-03",
          y: 2
        },
        {
          x: "2025-05-05",
          y: 5
        },
        {
          x: "2025-05-06",
          y: 1
        },
        {
          x: "2025-05-07",
          y: 1
        },
        {
          x: "2025-05-09",
          y: 1
        },
        {
          x: "2025-05-11",
          y: 3
        },
        {
          x: "2025-05-12",
          y: 3
        },
        {
          x: "2025-05-13",
          y: 6
        },
        {
          x: "2025-05-14",
          y: 7
        },
        {
          x: "2025-05-15",
          y: 6
        },
        {
          x: "2025-05-16",
          y: 2
        },
        {
          x: "2025-05-17",
          y: 3
        },
        {
          x: "2025-05-18",
          y: 5
        },
        {
          x: "2025-05-19",
          y: 0
        },
        {
          x: "2025-05-21",
          y: 7
        },
        {
          x: "2025-05-22",
          y: 8
        },
        {
          x: "2025-05-25",
          y: 2
        },
        {
          x: "2025-05-26",
          y: 0
        },
        {
          x: "2025-05-27",
          y: 0
        },
        {
          x: "2025-05-28",
          y: 6
        },
        {
          x: "2025-05-30",
          y: 3
        },
        {
          x: "2025-06-01",
          y: 2
        },
        {
          x: "2025-06-02",
          y: 1
        },
        {
          x: "2025-06-03",
          y: 5
        },
        {
          x: "2025-06-04",
          y: 5
        },
        {
          x: "2025-06-05",
          y: 7
        },
        {
          x: "2025-06-07",
          y: 1
        },
        {
          x: "2025-06-09",
          y: 1
        },
        {
          x: "2025-06-12",
          y: 11
        },
        {
          x: "2025-06-13",
          y: 3
        },
        {
          x: "2025-06-14",
          y: 3
        },
        {
          x: "2025-06-15",
          y: 0
        },
        {
          x: "2025-06-16",
          y: 7
        },
        {
          x: "2025-06-17",
          y: 6
        },
        {
          x: "2025-06-18",
          y: 0
        },
        {
          x: "2025-06-19",
          y: 8
        },
        {
          x: "2025-06-21",
          y: 1
        },
        {
          x: "2025-06-22",
          y: 3
        },
        {
          x: "2025-06-23",
          y: 6
        },
        {
          x: "2025-06-24",
          y: 2
        },
        {
          x: "2025-06-25",
          y: 2
        },
        {
          x: "2025-06-26",
          y: 0
        },
        {
          x: "2025-06-27",
          y: 0
        },
        {
          x: "2025-06-28",
          y: 0
        },
        {
          x: "2025-06-30",
          y: 0
        },
        {
          x: "2025-07-01",
          y: 9
        },
        {
          x: "2025-07-02",
          y: 1
        },
        {
          x: "2025-07-03",
          y: 10
        },
        {
          x: "2025-07-04",
          y: 1
        },
        {
          x: "2025-07-05",
          y: 3
        },
        {
          x: "2025-07-07",
          y: 3
        },
        {
          x: "2025-07-08",
          y: 4
        },
        {
          x: "2025-07-09",
          y: 0
        },
        {
          x: "2025-07-10",
          y: 0
        },
        {
          x: "2025-07-11",
          y: 6
        },
        {
          x: "2025-07-13",
          y: 2
        },
        {
          x: "2025-07-15",
          y: 6
        },
        {
          x: "2025-07-18",
          y: 4
        },
        {
          x: "2025-07-19",
          y: 0
        },
        {
          x: "2025-07-21",
          y: 6
        },
        {
          x: "2025-07-22",
          y: 2
        },
        {
          x: "2025-07-23",
          y: 1
        },
        {
          x: "2025-07-24",
          y: 2
        },
        {
          x: "2025-07-25",
          y: 2
        },
        {
          x: "2025-07-27",
          y: 0
        },
        {
          x: "2025-07-28",
          y: 4
        },
        {
          x: "2025-07-30",
          y: 1
        },
        {
          x: "2025-07-31",
          y: 2
        },
        {
          x: "2025-08-03",
          y: 1
        },
        {
          x: "2025-08-04",
          y: 2
        },
        {
          x: "2025-08-05",
          y: 4
        },
        {
          x: "2025-08-07",
          y: 12
        },
        {
          x: "2025-08-08",
          y: 2
        },
        {
          x: "2025-08-09",
          y: 0
        },
        {
          x: "2025-08-12",
          y: 2
        },
        {
          x: "2025-08-13",
          y: 2
        },
        {
          x: "2025-08-14",
          y: 1
        },
        {
          x: "2025-08-15",
          y: 2
        },
        {
          x: "2025-08-18",
          y: 0
        },
        {
          x: "2025-08-19",
          y: 1
        },
        {
          x: "2025-08-20",
          y: 6
        },
        {
          x: "2025-08-21",
          y: 8
        },
        {
          x: "2025-08-22",
          y: 3
        },
        {
          x: "2025-08-24",
          y: 5
        },
        {
          x: "2025-08-25",
          y: 2
        },
        {
          x: "2025-08-27",
          y: 7
        },
        {
          x: "2025-08-28",
          y: 2
        },
        {
          x: "2025-08-30",
          y: 2
        },
        {
          x: "2025-09-01",
          y: 1
        },
        {
          x: "2025-09-02",
          y: 5
        },
        {
          x: "2025-09-03",
          y: 5
        },
        {
          x: "2025-09-04",
          y: 9
        },
        {
          x: "2025-09-05",
          y: 8
        },
        {
          x: "2025-09-06",
          y: 1
        },
        {
          x: "2025-09-07",
          y: 2
        },
        {
          x: "2025-09-08",
          y: 2
        },
        {
          x: "2025-09-09",
          y: 1
        },
        {
          x: "2025-09-11",
          y: 4
        },
        {
          x: "2025-09-13",
          y: 1
        },
        {
          x: "2025-09-15",
          y: 2
        },
        {
          x: "2025-09-16",
          y: 9
        },
        {
          x: "2025-09-17",
          y: 1
        },
        {
          x: "2025-09-18",
          y: 2
        },
        {
          x: "2025-09-19",
          y: 3
        },
        {
          x: "2025-09-22",
          y: 4
        },
        {
          x: "2025-09-24",
          y: 1
        },
        {
          x: "2025-09-25",
          y: 12
        },
        {
          x: "2025-09-26",
          y: 0
        },
        {
          x: "2025-09-27",
          y: 1
        },
        {
          x: "2025-09-28",
          y: 1
        },
        {
          x: "2025-09-29",
          y: 1
        },
        {
          x: "2025-09-30",
          y: 4
        },
        {
          x: "2025-10-01",
          y: 6
        },
        {
          x: "2025-10-02",
          y: 3
        },
        {
          x: "2025-10-03",
          y: 0
        },
        {
          x: "2025-10-06",
          y: 4
        },
        {
          x: "2025-10-07",
          y: 9
        },
        {
          x: "2025-10-08",
          y: 1
        },
        {
          x: "2025-10-09",
          y: 7
        },
        {
          x: "2025-10-10",
          y: 0
        },
        {
          x: "2025-10-11",
          y: 0
        },
        {
          x: "2025-10-13",
          y: 5
        },
        {
          x: "2025-10-14",
          y: 3
        },
        {
          x: "2025-10-15",
          y: 0
        },
        {
          x: "2025-10-16",
          y: 1
        },
        {
          x: "2025-10-17",
          y: 3
        },
        {
          x: "2025-10-19",
          y: 0
        },
        {
          x: "2025-10-21",
          y: 3
        },
        {
          x: "2025-10-22",
          y: 8
        },
        {
          x: "2025-10-23",
          y: 3
        },
        {
          x: "2025-10-24",
          y: 5
        },
        {
          x: "2025-10-26",
          y: 4
        },
        {
          x: "2025-10-27",
          y: 1
        },
        {
          x: "2025-10-28",
          y: 6
        },
        {
  // ... truncated, use Copy or open the full config

const chart = new WestCoastCharts(document.querySelector('#chart'), options)
chart.render()