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 necesitamosstat = "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. Tantogeom_line()
comogeom_path()
también entienden el estéticolinetype
, 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 lashape
, 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()
ygeom_raster()
dibujan rectángulos.geom_rect()
está parametrizado por las cuatro esquinas del rectángulo,xmin
,ymin
,xmax
yymax
.geom_tile()
es exactamente igual, pero parametrizado por el centro del rectángulo y su tamaño,x
,y
,width
yheight
.geom_raster()
es un caso especial rápido degeom_tile()
se utiliza cuando todos los mosaicos son del mismo tamaño.. .geom_text()
agrega texto a una gráfica. Requiere una estética delabel
que proporcione el texto que se mostrará y que tenga varios parámetros. (angle
,family
,fontface
,hjust
yvjust
) 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
-
¿Qué geomas usarías para dibujar cada una de las siguientes gráficas nombradas?
- Gráfico de dispersión
- Gráfico de líneas
- Histograma
- Gráfico de barras
- Gráfico circular
¿Cuál es la diferencia entre
geom_path()
ygeom_polygon()
? ¿Cuál es la diferencia entregeom_path()
ygeom_line()
?¿Qué geoms de bajo nivel se utilizan para dibujar
geom_smooth()
? ¿Qué pasa congeom_boxplot()
ygeom_violin()
?