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)]
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)
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)
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)
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"))
También te puede interesar