React Calendar Heatmap
A calendar heatmap component built on SVG, inspired by github's commit calendar graph. The component expands to size of container and is super configurable. See a live demo.
Installation
Install the npm module:
npm install react-calendar-trends
Include the default styles into your CSS by copying src/styles.css into your repo, and customize away!
Usage
Import the component:
;
To show a basic heatmap from January 1st to April 1st:
<CalendarHeatmap startDate='2016-01-01' endDate='2016-04-01' values= date: '2016-01-01' date: '2016-01-22' date: '2016-01-30' // ...and so on />
Configuring colors
To use the color scale shown in the live demo based on the github contribution graph, you can set the classForValue
prop, a function that determines which CSS class to apply to each value:
<CalendarTrends values= date: '2016-01-01' count: 1 date: '2016-01-03' count: 4 date: '2016-01-06' count: 2 // ...and so on classForValue= { if !value return 'color-empty'; return `color-scale-`; } handleMouseOver= {} handleMouseLeave= {} />
Then you use CSS to set colors for each class:
Other configuration
See full configuration options on the live demo page.
Development
To run demo locally on localhost:8080:
npm installnpm start
Keep CI tests passing by running npm test
and npm run lint
often.
Deploy updates to the demo page with npm run deploy:demo
.
License
react-calendar-heatmap is Copyright © 2016 PatientsLikeMe, Inc. and is released under an MIT License. See COPYING for details.