¿Cuál es la diferencia entre facet_wrap() y facet_grid() en ggplot2?
facet_grid vs facet_wrap (3)
La respuesta a continuación se refiere al caso cuando tienes 2 argumentos en facet_grid()
o facet_wrap()
.
facet_grid(x ~ y)
mostrará x*y
trazados, incluso si algunos trazados están vacíos. Ex:
library(ggplot2)
g <- ggplot(mpg, aes(displ, hwy))
Hay 4 cilindros distintos y 7 valores de clase distintos.
g + geom_point(alpha=1/3) + facet_grid(cyl~class)
Hay 4 cilindros distintos y 7 valores de clase distintos. Lo anterior muestra 4 * 7 = 28 parcelas, incluso si algunas están vacías (porque algunas clases no tienen valores de cilindro correspondientes, como filas con clase = "tamaño mediano" no tiene ningún valor correspondiente de cyl = "5") facet_wrap(x ~ y)
por otro lado, muestra solo los gráficos que tienen valores reales.
g + geom_point(alpha=1/3) + facet_wrap(cyl~class)
Ahora se muestran 19 parcelas, una para cada combinación de cyl y clase.
He estado leyendo la documentación de ggplot2
para ambas funciones. Me preguntaba cuáles eran las diferencias y cuál sería la situación correcta para usar cada función ( facet_wrap()
y facet_grid()
).
library(ggplot2)
p <- qplot(displ, hwy, data = mpg)
p + facet_wrap(~ cyl)
p + facet_grid(~ cyl)
Proporciono este pequeño ejemplo para servir como punto de partida. La diferencia parece ser que el ajuste hace que las tramas sean más autónomas y la cuadrícula hace que todas las tramas estén juntas.
Para gráficos de una sola variable, puede usar facet_grid()
o facet_wrap()
.
facet_wrap(~variable)
devolverá una matriz simétrica de gráficos para la cantidad de niveles de variable
.
facet_grid(.~variable)
devolverá facetas iguales a los niveles de variable
distribuidos horizontalmente.
facet_grid(variable.~)
devolverá facetas iguales a los niveles de variable
distribuidos verticalmente.
facet_wrap(...)
encadena ggplots
en diferentes marcos (facetas) basados en una sola variable. facet_grid(...)
puede tomar dos variables:
p + facet_grid(cyl~class)
También puede usar una tercera variable para agrupar en cada faceta:
qplot(displ, hwy, data=mpg,color=factor(year)) + facet_grid(cyl~class)
muestra la mejora (o la falta de ella) en el millaje de la carretera frente al desplazamiento por # cilindros y clase.