Code
library(ggplot2)
p <- ggplot(
penguins,
aes(
x = bill_len,
y = bill_dep,
color = species
)
) +
theme_minimal() +
labs(
x = "Longitud del pico (mm)",
y = "Profundidad del pico (mm)",
color = "Especie"
)Una de las principales ventajas de ggplot2 es que podemos representar los mismos datos de distintas maneras simplemente cambiando la geometría (geom). Cada geometría está diseñada para resaltar diferentes características de los datos.
Primero cargamos nuestro gráfica base:
library(ggplot2)
p <- ggplot(
penguins,
aes(
x = bill_len,
y = bill_dep,
color = species
)
) +
theme_minimal() +
labs(
x = "Longitud del pico (mm)",
y = "Profundidad del pico (mm)",
color = "Especie"
)La geometría más común para estudiar la relación entre dos variables numéricas es geom_point().
p +
geom_point(alpha = 0.7) +
ggtitle("geom_point()")
Podemos sustituir los puntos por texto utilizando geom_text(). Aquí usamos la especie como etiqueta.
ggplot(
penguins,
aes(
x = bill_len,
y = bill_dep,
label = species,
color = species
)
) +
geom_text() +
theme_minimal() +
ggtitle("geom_text()")
Si ordenamos las observaciones por longitud del pico, podemos unirlas mediante líneas.
ggplot(
penguins,
aes(
x = bill_len,
y = bill_dep,
color = species
)
) +
geom_line() +
theme_minimal() +
ggtitle("geom_line()")
Las líneas suelen utilizarse para series de tiempo o datos con un orden natural. En este ejemplo se muestran únicamente para ilustrar la geometría.
Una forma común de visualizar tendencias es mediante geom_smooth().
p +
geom_point(alpha = 0.5) +
geom_smooth(se = FALSE) +
ggtitle("geom_smooth()")
Para estudiar la distribución de una variable podemos utilizar histogramas.
ggplot(
penguins,
aes(
x = bill_len,
fill = species
)
) +
geom_histogram(
bins = 30,
alpha = 0.7
) +
theme_minimal() +
ggtitle("geom_histogram()")
Los diagramas de caja resumen la distribución de una variable y facilitan la comparación entre grupos.
ggplot(
penguins,
aes(
x = species,
y = bill_len,
fill = species
)
) +
geom_boxplot() +
theme_minimal() +
ggtitle("geom_boxplot()")
Una alternativa al diagrama de caja es el diagrama de violín, que muestra la forma de la distribución.
ggplot(
penguins,
aes(
x = species,
y = bill_len,
fill = species
)
) +
geom_violin() +
theme_minimal() +
ggtitle("geom_violin()")
También podemos representar el número de observaciones de cada especie.
ggplot(
penguins,
aes(
x = species,
fill = species
)
) +
geom_bar() +
theme_minimal() +
ggtitle("geom_bar()")
Las curvas de densidad permiten comparar distribuciones de forma suave.
ggplot(
penguins,
aes(
x = bill_len,
fill = species
)
) +
geom_density(alpha = 0.4) +
theme_minimal() +
ggtitle("geom_density()")
La estructura básica del gráfico permanece igual; únicamente cambia la geometría. Esta filosofía de capas es una de las características fundamentales de ggplot2.