Librería

calendR

Autor principal

R CODER

Calendario mensual

Puedes crear un calendario mensual en R con el paquete calendR. Especifica el mes en el argumento month (de 1 a 12).

# install.packages("calendR")
library(calendR)

# Especifica el mes y el año
calendR(year = 2022,
        month = 3)

Calendario mensual en ggplot2

Agregar textos

La función permite agregar textos a los días del mes. Para ello puedes pasar un vector con el texto al argumento text y especificar su posición (los días) con text.pos.

Calendario mensual con texto en los días

# install.packages("calendR")
library(calendR)

# Agregar texto a los días
calendR(year = 2021,
        month = 3,
        text = c("Evento 1", "Evento 2"),
        text.pos = c(4, 8),
        text.col = "blue")

Agregar eventos

Además, puedes colorear algunos días para indicar algún evento. En este escenario tendrás que crear un vector de NA y rellenarlo con los eventos para pasarlo al argumento special.days. Los colores se pueden personalizar conspecial.cols y la posición de la leyenda con legend.pos.

# install.packages("calendR")
library(calendR)

# Vector de NA cuya longitud es
# el número de días del mes
fills <- rep(NA, 31)

# Añade los ventos a los días que quieras
fills[c(4, 10, 15, 22)] <- "Evento 1"
fills[c(1, 5, 17, 30)] <- "Evento 2"

# Crea el calendario
calendR(year = 2022,
        month = 3,
        special.days = fills,
        special.col = 3:4,
        legend.pos = "bottom")

Adding events to a monthly calendar in ggplot2

Personalización avanzada

Puedes personalizar más argumentos, como el comienzo de la semana, el color de fondo o el tipo de línea del calendario, tal y como se muestra en el siguiente ejemplo. Recuerda escribir ?calendR para obtener una lista completa de los argumentos y su correspondiente descripción.

Personalización del calendario

# install.packages("calendR")
library(calendR)

calendR(month = 7,
        year = 2022, 
        start = "M",               # Comienzo en lunes
        special.days = "weekend",  # Colorear los fines de semana
        special.col = "lightblue", # Color de los fines de semana
        bg.col = "#f7f7f7",        # Color de fondo
        lty = 2)                   # Tipo de línea

También te puede interesar