La librería calendR
permite crear un mapa de calor con un calendario anual o mensual para mostrar la evolución de una variable sobre el tiempo. Para crearlo pasa un vector (que contenga la variable de interés) de la misma longitud que el número de días del correspondiente año al argumento special.days
y establece gradient = TRUE
.
El color que representa el valor más bajo se puede establecer con low.col
, que por defecto es blanco, y el color del mayor valor con special.col
.
# install.packages(calendR)
library(calendR)
# Datos
set.seed(2)
datos <- rnorm(365)
# Calendario
calendR(year = 2021,
special.days = datos,
gradient = TRUE,
low.col = "#FFFFED",
special.col = "#FF0000")
Ten en cuenta que también puedes añadir una leyenda al calendario estableciendo su posición con legend.pos
("bottom"
, "left"
, "top"
o "right"
). El título de la leyenda se puede establecer con legend.title
.
# install.packages(calendR)
library(calendR)
# Datos
set.seed(2)
datos <- rnorm(365)
# Calendario
calendR(year = 2021,
special.days = datos,
gradient = TRUE,
low.col = "#FCFFDD",
special.col = "#00AAAE",
legend.pos = "right",
legend.title = "Title")
También es posible crear un mapa de calor para ciertos días del año, como en el siguiente ejemplo.
# install.packages(calendR)
library(calendR)
# Datos
datos <- rnorm(30, 15, 10)
# Crea un vector donde todos los valores son ligeramente
# inferiores que el menor valor de tus datos
dias <- rep(min(datos) - 0.05, 365)
# Rellena los días que quieras con tus datos
dias[30:59] <- datos
calendR(year = 2021,
special.days = dias,
low.col = "white",
special.col = "#FF0000",
gradient = TRUE,
legend.pos = "bottom")
Por último, cabe destacar que también es posible cambiar la orientación del calendario estableciendo orientation = "p"
o orientation = "portrait"
. Esto hará que el calendario tenga tres columnas y cuatro filas.
# install.packages(calendR)
library(calendR)
# Datos
set.seed(2)
datos <- rnorm(365)
# Vertical calendar
calendR(year = 2021,
special.days = datos,
low.col = "#FCFFDD",
special.col = "#00AAAE",
gradient = TRUE,
legend.pos = "right",
orientation = "portrait")
También te puede interesar