Librería

areaplot

Autor principal

Arni Magnusson

Datos de muestra

Los datos utilizados en los siguientes ejemplos son un subconjunto del conjunto de datos longley, donde la variable x representa el año e y la medida de varias variables para cada año.

# Data frame de muestra
df <- longley

# Variable del eje X
x <- df$Year

# Variables a ser apiladas
y <- df[, c(1, 2, 3, 4, 5, 7)]

Áreas 100% apiladas

Para crear un gráfico de áreas 100% apiladas en R (o gráfico de áreas apiladas por porcentaje) puedes hacer uso de la función areaplot de la librería del mismo nombre. Tan solo necesitas pasar tus datos y establecer prop = TRUE.

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

# Áreas apiladas en porcentaje
areaplot(x, y, prop = TRUE)

# Equivalente a:
areaplot(. ~ Year, data = df, prop = TRUE)

Gráfico de áreas 100% apiladas en R con areaplot

Personalización del color

Gráfico de área apiladas por porcentajes

Puedes pasar un vector de colores al argumento col para personalizar la escala de grises por defecto. En el siguiente ejemplo estamos creando un vector de colores de la 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 con colores personalizados
areaplot(x, y, prop = TRUE,
         col = cols)

Color de borde de las áreas 100% apiladas

La función permite pasar argumentos adicionales a la función polygon (usada por la librería). Esto permite personalizar el borde, el tipo o ancho de línea de las áreas apiladas.

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

# Colores
cols <- hcl.colors(6, palette = "ag_Sunset")

# Gráfico de área con border personalizados
areaplot(x, y, prop = TRUE, col = cols,
         border = "white",
         lwd = 1,
         lty = 1)

Añadiendo una leyenda

La función también proporciona una manera de agregar una leyenda de manera automática estableciendo legend = TRUE. Es posible pasar argumentos adicionales de la función legend a través de args.legend como una lista.

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

# Colores
cols <- hcl.colors(6, palette = "PinkYl")

areaplot(x, y, prop = TRUE, col = cols,
         legend = TRUE,
         args.legend = list(x = "topleft", cex = 0.65,
                            bg = "white", bty = "o"))

Gráfico de áreas apiladas por porcentaje con leyenda

También te puede interesar