mirror of
https://github.com/nikolaydubina/calendarheatmap.git
synced 2024-12-04 19:45:23 +02:00
📅 Calendar heatmap inspired by GitHub contribution activity
https://calendarheatmap.io/
.github/workflows | ||
charts | ||
colorscales | ||
parsers | ||
testdata | ||
.gitignore | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
README.md |
Self-contained, plain Go implementation of calendar heatmap inspired by Github contribution activity.
$ go build
$ echo '{
"2020-05-16": 8,
"2020-05-17": 13,
"2020-05-18": 5,
"2020-05-19": 8,
"2020-05-20": 5
}' | ./calendarheatmap > chart.png
Basic
Without labels, without separator
Example module, next save output in formats supported by image
module (PNG, JPEG, GIF).
countByDayOfYear := map[int]int{
1: 10,
22: 15,
150: 22,
366: 55,
...
}
img := charts.NewHeatmap(charts.HeatmapConfig{
Year: 2020,
CountByDay: countByDay,
ColorScale: colorscales.PuBu9,
DrawMonthSeparator: true,
DrawLabels: true,
...
})
Example script
$ cat testdata/basic.json | ./calendarheatmap -output jpeg > chart.jpeg
$ cat testdata/custom.txt | ./calendarheatmap -input row-day-seconds-count > custom.png
$ ./calendarheatmap -h
Usage of ./calendarheatmap:
-colorscale string
refer to colorscales for examples (default "PuBu9")
-input string
format of input file, refer to parsers module (default "json-basic")
-labels
labels for weekday and months (default true)
-locale string
locale of labels (default en_US) (default "en_US")
-monthsep
render month separator (default true)
-output string
output format (png, jpeg, gif) (default "png")