产品推荐 2026-07-28

shadcn-calendar-heatmap:日历热图组件

现代可自定义的日历热图组件,用于替代原始React热图实现数据可视化。

开源软件跨平台工具

产品简介

shadcn-calendar-heatmap 这是一个基于react-day-picker的日历热图组件,遵循shadcn/ui设计模式,允许开发者使用Tailwind CSS轻松自定义样式。它支持多种数据输入模式,如日期数组或带权重的日期,可用于展示GitHub贡献图、温度变化等时间序列数据。适合需要快速集成数据可视化功能的React开发者和UI工程师。

shadcn-calendar-heatmap 主界面

核心功能

  • 完全可自定义样式:使用Tailwind CSS类进行灵活定制
  • 多种数据模式:支持直接日期数组或带权重的日期,自动分类显示
  • 多月份显示:可配置显示任意数量的月份
  • 无障碍访问:基于react-day-picker,支持完整键盘导航
  • TypeScript类型安全:提供完整类型定义,减少错误
  • 预设热图变体:内置GitHub streaks、温度热图、彩虹颜色等预设

快速开始

  1. 第一步:安装依赖包,运行 npm install react-day-picker date-fns lucide-react
  2. 第二步:复制 components/ui/calendar-heatmap.tsx 文件到项目的组件目录
  3. 第三步:确保项目中有 cn 工具函数(标准shadcn/ui项目通常包含)
  4. 第四步:在React组件中导入CalendarHeatmap,并配置variantClassnames和日期数据属性

界面预览

与其他方案对比

对比项shadcn-calendar-heatmap同类方案
可自定义性完全支持Tailwind CSS类样式,高度灵活原始React热图组件样式通常固定或自定义选项有限
数据模式支持支持日期数组和带权重的日期,自动分类显示多数热图组件只支持单一数据格式,需手动处理
可访问性内置完整键盘导航,基于react-day-picker确保无障碍许多热图组件缺乏内置可访问性支持

适合谁用

  • 需要展示GitHub贡献图或用户活跃度数据的前端开发者
  • 构建数据仪表板,显示时间序列热图的数据分析师或产品经理
  • 使用Tailwind CSS和shadcn/ui设计系统,追求一致UI风格的UI工程师
  • 开发天气、健康等应用,需要热图展示温度或活动数据的程序员

下载与版本

当前最新版本为 main,发布于 。支持 Windows、macOS、Linux。

⚠️ 注意:本项目仅提供源代码下载,不包含可直接运行的安装包(exe/dmg/apk 等。下载后需要自行编译构建才能使用,适合有一定开发经验的用户。如果你不熟悉编译流程,建议寻找同类开箱即用的替代方案。

注意事项