2010-09-10 38 views
29

En el siguiente ejemplo, ¿cómo puedo escalar los límites del eje Y de acuerdo con los datos en cada panel?ggplot2, facet_grid, escalas libres?

mt <- ggplot(mtcars, aes(mpg, wt, colour = factor(cyl))) + geom_point() 

Ninguno de ellos lo harán:

mt + facet_grid(. ~ cyl, scales="free") 
mt + facet_grid(. ~ cyl, scales="free_y") 

Respuesta

28

Tal vez sea porque sólo tiene un eje y, usando su camino. ¿Has probado algo como esto?

mt + facet_grid(cyl ~ ., scales="free") 
+2

veo - por lo que no se escala por cada panel por filas o columnas ... en el caso facet_wrap() también funciona me adivinar. – hatmatrix

+0

¿Qué le parece trazar los mismos datos pero usar barras de barras? Pregunté justo eso [aquí] (http://stackoverflow.com/questions/29262916/how-i-get-a-facet-grid-plot-with-free-scales-and-barplots-with-ggplot2) – Juan

+7

I siento que esto no resuelve el problema. Estoy teniendo el mismo problema, y ​​todo "cyl ~". hizo fue voltear los ejes. Ahora, el eje x es lo que quiero que sea gratis, pero no es gratis. Estoy usando R versión 3.2.3 con ggplot2 versión 2.1.0. – landau

8

No puede. Ver here

Usted puede utilizar facet_wrap en cambio, que 'libre' ambos ejes se

+0

Funcionó, gracias @ jf328 – RancheroBeans

Cuestiones relacionadas