Considera el conjunto de datos longley
, que contiene datos macroeconómicos de varios años.
# Conjunto de datos
df <- longley
# Variable eje X
x <- df$Year
# Variables a ser apiladas
y <- df[, c(1, 2, 3, 4, 5, 7)]
areaplot
La manera más sencilla de crear un gráfico de áreas apiladas en R base es utilizar la librería areaplot
, que contiene una función del mismo nombre para tal propósito. Ten en cuenta que también puedes crear gráficos de áreas 100% apiladas.
Puedes pasar dos variables numéricas a la función o especificar una fórmula para crear el gráfico de áreas. Ten en cuenta que los colores por defecto son una escala de grises.
# install.packages("areaplot")
library(areaplot)
# Gráfico de áreas apiladas
areaplot(x, y,
main = "Gráfico de áreas apiladas",
xlab = "Año")
# Equivalente a:
areaplot(.~Year, data = df,
main = "Gráfico de áreas apiladas",
xlab = "Año")
El argumento cols
se puede utilizar para personalizar la paleta de colores usada para colorear cada área. En el siguiente ejemplo estamos usando la conocida paleta viridis con un nivel de transparencia del 0.8.
# install.packages("areaplot")
library(areaplot)
# Colores
cols <- hcl.colors(6, palette = "viridis", alpha = 0.8)
# Áreas apiladas con paleta de colores personalizada
areaplot(x, y,
col = cols)
El estilo de las líneas se puede personalizar haciendo uso de argumentos adicionales. Por ejemplo, puedes personalizar el color del borde con border
y cambiar el ancho y tipo de línea con lwd
y lty
, respectivamente.
# install.packages("areaplot")
library(areaplot)
# Colores
cols <- hcl.colors(6, palette = "ag_Sunset")
# Personalización de los bordes
areaplot(x, y, col = cols,
border = "white",
lwd = 1,
lty = 1)
Estableciendo legend = TRUE
como argumento de la función areaplot
se creará una leyenda de manera automática. Puedes sobrescribir los argumentos por defecto de la leyenda con args.legend
. Consulta el articulo sobre leyendas para obtener detalles adicionales.
# install.packages("areaplot")
library(areaplot)
# Colores
cols <- hcl.colors(6, palette = "PinkYl")
# areaplot con leyenda
areaplot(x, y, col = cols,
legend = TRUE,
args.legend = list(x = "topleft", cex = 0.65))
También te puede interesar