3  Geomas individuales

You are reading the work-in-progress third edition of the ggplot2 book. This chapter is currently a dumping ground for ideas, and we don’t recommend reading it.

3.1 Tipos de gráficos básicos

Estas geoms son los componentes fundamentales de ggplot2. Son útiles por sí solos, pero también se utilizan para construir geomas más complejas. La mayoría de estas geoms están asociadas con una gráfica con nombre: cuando esa geom se usa sola en una gráfica, esa gráfica tiene un nombre especial.

Cada una de estas geomas es bidimensional y requiere estética tanto x como y. Todos ellos entienden la estética de color (o color) y size, y las geomas rellenas (barra, mosaico y polígono) también entienden de fill.

  • geom_area() dibuja un gráfico de área, que es un gráfico de líneas relleno hasta el eje y (líneas rellenas). Se apilarán varios grupos uno encima del otro.

  • geom_bar(stat = "identity") hace un gráfico de barras. Nosotros necesitamos stat = "identity" porque la estadística predeterminada cuenta automáticamente los valores (por lo que es esencialmente una geom 1d, consulte Sección 5.4). La estadística de identidad deja los datos sin cambios. Se apilarán varias barras en la misma ubicación una encima de la otra.

  • geom_line() hace un gráfico lineal. La estética del “grupo” determina qué observaciones están conectadas; consulte Capítulo 4 para obtener más detalles. geom_line() conecta puntos de izquierda a derecha; geom_path() es similar pero conecta puntos en el orden en que aparecen en los datos. Tanto geom_line() como geom_path() también entienden el estético linetype, que asigna una variable categórica a líneas sólidas, punteadas y discontinuas.

  • geom_point() produce un diagrama de dispersión. geom_point() También entiende la estética de la shape, forma.

  • geom_polygon() dibuja polígonos, que son caminos rellenos. Cada vértice del polígono requiere una fila separada en los datos. A menudo resulta útil fusionar un marco de datos de coordenadas poligonales con los datos justo antes de trazar. Capítulo 6 ilustra este concepto con más detalle para datos de mapas.

  • geom_rect(), geom_tile() y geom_raster() dibujan rectángulos. geom_rect() está parametrizado por las cuatro esquinas del rectángulo, xmin, ymin, xmax y ymax. geom_tile() es exactamente igual, pero parametrizado por el centro del rectángulo y su tamaño, x, y, width y height. geom_raster() es un caso especial rápido de geom_tile() se utiliza cuando todos los mosaicos son del mismo tamaño.. .

  • geom_text() agrega texto a una gráfica. Requiere una estética de label que proporcione el texto que se mostrará y que tenga varios parámetros. (angle, family, fontface, hjust y vjust) que controlan la apariencia del texto.

Cada geom se muestra en el siguiente código. Observe los diferentes rangos de ejes para los gráficos de barras, áreas y mosaicos: estas geomas ocupan espacio fuera del rango de los datos y, por lo tanto, empujan los ejes hacia afuera.

df <- data.frame(
  x = c(3, 1, 5), 
  y = c(2, 4, 6), 
  label = c("a","b","c")
)
p <- ggplot(df, aes(x, y, label = label)) + 
  labs(x = NULL, y = NULL) + # Hide axis label
  theme(plot.title = element_text(size = 12)) # Shrink plot title
p + geom_point() + ggtitle("point")
p + geom_text() + ggtitle("text")
p + geom_bar(stat = "identity") + ggtitle("bar")
p + geom_tile() + ggtitle("raster")

p + geom_line() + ggtitle("line")
p + geom_area() + ggtitle("area")
p + geom_path() + ggtitle("path")
p + geom_polygon() + ggtitle("polygon")

3.1.1 Exercises

  1. ¿Qué geomas usarías para dibujar cada una de las siguientes gráficas nombradas?

    1. Gráfico de dispersión
    2. Gráfico de líneas
    3. Histograma
    4. Gráfico de barras
    5. Gráfico circular
  2. ¿Cuál es la diferencia entre geom_path() y geom_polygon()? ¿Cuál es la diferencia entre geom_path() y geom_line()?

  3. ¿Qué geoms de bajo nivel se utilizan para dibujar geom_smooth()? ¿Qué pasa con geom_boxplot() y geom_violin()?