본문으로 건너뛰기

캘린더 히트맵

날짜 칸 하나하나의 밀도를 주(열) × 요일(행) 격자로 보여 주는 표현 전용 차트입니다. 근태, 활동 로그, 예약 · 출석처럼 날짜마다 쌓이는 값에 씁니다. 색은 한 tone 의 불투명도 4단계이고 0 과 기록 없는 날은 빈 칸입니다. 날짜는 YYYY-MM-DD 문자열을 UTC 일로 다뤄 시간대에 따라 칸이 밀리지 않습니다. 기간이 길면 가로로 스크롤됩니다.

상태

월요일 시작
일요일 시작 · tone

활용 방법

20주 출석 기록

from · to 를 주지 않으면 data 의 처음 · 마지막 날로 기간을 잡는다. 칸에 마우스를 올리면 날짜와 값이 나온다.

Preview
tsx
<CalendarHeatmap
data={[
{ date: "2026-05-23", value: 4 },
{ date: "2026-05-24", value: 1 },
// ...
]}
formatValue={(v) => `${v}명`}
/>

속성

이름타입기본값설명
dataCalendarDatum[]-{ date: "YYYY-MM-DD", value }. 같은 날이 여럿이면 더한다
from · tostring-기간(YYYY-MM-DD, 끝날 포함). 없으면 data 의 처음 · 마지막 날
weekStart"monday" | "sunday""monday"주 시작 요일(맨 위 행)
toneChartTone"primary"칸 색(불투명도 4단계)
cellSizenumber12칸 한 변(px)
formatValue(v: number) => stringko-KR 콤마 + 건값 포맷(title · 접근성 이름)