¿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.