Gráfico de área en R

Datos de muestra

Considera la primera columna del conjunto de datos EuStockMarkets, que contiene los precios de cierre de índices bursátiles europeos.

dat <- as.data.frame(EuStockMarkets[, 1:2])

Gráfico de área de una única línea

Si quieres crear un gráfico de área de una de las variables puedes hacer uso de la función polygon o la función areaplot de la librería del mismo nombre. Ten en cuenta que usando areaplot el eje Y empezará en 0.

dat <- as.data.frame(EuStockMarkets[, 1:2])

# Primera columna
y <- dat[, 1]

# Gráfico de área
plot(y, type = "l")

polygon(c(1, seq(y), length(y)), c(0, y, 0),
        col = rgb(0.53, 0.79, 0.88, alpha = 0.5))

# Casi equivalente a:
# install.packages("areaplot")
library(areaplot)

areaplot(y, col = rgb(0.53, 0.79, 0.88, alpha = 0.5))

Gráfico de área en R con la función areaplot

Gráfico de área de varias variables

Si quieres crear un gráfico de área con varias variables puedes hacer uso de la función polygon como se muestra en el bloque de código. Ten en cuenta que si los valores de una variable son siempre mayores que la otra deberías dibujarla primero. Además, si las variables se solapan deberías usar un color con transparencia.

dat <- as.data.frame(EuStockMarkets[, 1:2])

# Segunda variable (porque toma valores mayores)
y1 <- dat$SMI

# Gráfico
plot(y1, type = "l", ylim = c(0, max(dat)))

polygon(c(1, seq(y1), length(y1)), c(0, y1, 0),
        col = "#E0F2F1")

# Primera variable
y2 <- dat$DAX

# Agregamos la línea
lines(y2, type = "l")
polygon(c(1, seq(y2), length(y2)), c(0, y2, 0),
        col = "#4DB6AC")

Gráfico de área en R de varias variables

Si quieres dibujar más de dos o tres variables considera crear un gráfico de área apilado en su lugar.

Storytelling con Datos

Visualización de datos para profesionales

Comprar en Amazon
Better Data Visualizations

A Guide for Scholars, Researchers, and Wonks

Comprar en Amazon
Data Sketches

A journey of imagination, exploration, and beautiful data visualizations

Comprar en Amazon

También te puede interesar