24  Algunas geometrías básicas

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:

Código
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"
  )

24.1 Gráfica de dispersión

La geometría más común para estudiar la relación entre dos variables numéricas es geom_point().

Código
p +
  geom_point(alpha = 0.7) +
  ggtitle("geom_point()")

24.2 Etiquetas de texto

Podemos sustituir los puntos por texto utilizando geom_text(). Aquí usamos la especie como etiqueta.

Código
ggplot(
  penguins,
  aes(
    x = bill_len,
    y = bill_dep,
    label = species,
    color = species
  )
) +
  geom_text() +
  theme_minimal() +
  ggtitle("geom_text()")

24.3 Líneas

Si ordenamos las observaciones por longitud del pico, podemos unirlas mediante líneas.

Código
ggplot(
  penguins,
  aes(
    x = bill_len,
    y = bill_dep,
    color = species
  )
) +
  geom_line() +
  theme_minimal() +
  ggtitle("geom_line()")

Advertencia

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.

24.4 Curvas suavizadas

Una forma común de visualizar tendencias es mediante geom_smooth().

Código
p +
  geom_point(alpha = 0.5) +
  geom_smooth(se = FALSE) +
  ggtitle("geom_smooth()")

24.5 Histogramas

Para estudiar la distribución de una variable podemos utilizar histogramas.

Código
ggplot(
  penguins,
  aes(
    x = bill_len,
    fill = species
  )
) +
  geom_histogram(
    bins = 30,
    alpha = 0.7
  ) +
  theme_minimal() +
  ggtitle("geom_histogram()")

24.6 Diagramas de caja

Los diagramas de caja resumen la distribución de una variable y facilitan la comparación entre grupos.

Código
ggplot(
  penguins,
  aes(
    x = species,
    y = bill_len,
    fill = species
  )
) +
  geom_boxplot() +
  theme_minimal() +
  ggtitle("geom_boxplot()")

24.7 Diagramas de violín

Una alternativa al diagrama de caja es el diagrama de violín, que muestra la forma de la distribución.

Código
ggplot(
  penguins,
  aes(
    x = species,
    y = bill_len,
    fill = species
  )
) +
  geom_violin() +
  theme_minimal() +
  ggtitle("geom_violin()")

24.8 Barras

También podemos representar el número de observaciones de cada especie.

Código
ggplot(
  penguins,
  aes(
    x = species,
    fill = species
  )
) +
  geom_bar() +
  theme_minimal() +
  ggtitle("geom_bar()")

24.9 Densidades

Las curvas de densidad permiten comparar distribuciones de forma suave.

Código
ggplot(
  penguins,
  aes(
    x = bill_len,
    fill = species
  )
) +
  geom_density(alpha = 0.4) +
  theme_minimal() +
  ggtitle("geom_density()")

TipIdea importante

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.