The calendR
package allows creating a yearly or monthly heat map with a calendar to display the evolution a variable over the time. In order to create it pass a vector (containing the variable of interest) of the same length of the number of days of the corresponding year to special.days
and set gradient = TRUE
.
The color of the lower values can be set with low.col
, which defaults to white, and the color of higher values with special.col
.
# install.packages(calendR)
library(calendR)
# Data
set.seed(2)
data <- rnorm(365)
# Calendar
calendR(year = 2021,
special.days = data,
gradient = TRUE,
low.col = "#FFFFED",
special.col = "#FF0000")
Note that you can also add a legend to the calendar setting its position with legend.pos
("bottom"
, "left"
, "top"
or "right"
). The title of the legend can be set with legend.title
.
# install.packages(calendR)
library(calendR)
# Data
set.seed(2)
data <- rnorm(365)
# Calendar
calendR(year = 2021,
special.days = data,
gradient = TRUE,
low.col = "#FCFFDD",
special.col = "#00AAAE",
legend.pos = "right",
legend.title = "Title")
You can also create a heat map for certain days of the year, as in the following example.
# install.packages(calendR)
library(calendR)
# Data
data <- rnorm(30, 15, 10)
# Create a vector where all the values are a bit
# lower than the lowest value of your data
days <- rep(min(data) - 0.05, 365)
# Fill the days you want with your data
days[30:59] <- data
calendR(year = 2021,
special.days = days,
low.col = "white",
special.col = "#FF0000",
gradient = TRUE,
legend.pos = "bottom")
Finally, it is worth to mention that you can also modify the orientation of the heat map calendar setting orientation = "p"
or orientation = "portrait"
. This setting will create a calendar with three columns and four rows.
# install.packages(calendR)
library(calendR)
# Data
set.seed(2)
data <- rnorm(365)
# Vertical calendar
calendR(year = 2021,
special.days = data,
low.col = "#FCFFDD",
special.col = "#00AAAE",
gradient = TRUE,
legend.pos = "right",
orientation = "portrait")
See also