2010-09-10 15 views
29

W poniższym przykładzie, w jaki sposób można uzyskać ograniczenia osi Y zgodnie z danymi w każdym panelu?ggplot2, facet_grid, wolne skale?

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

Żadna z nich zrobi to:

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

Odpowiedz

28

Być może to dlatego, że masz tylko jedną oś Y, stosując swój sposób. Czy próbowałeś czegoś takiego?

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

widzę - więc nie skaluje każdy panel przez rzędy lub kolumny ... w przypadku facet_wrap() działa także I odgadnąć. – hatmatrix

+0

Co powiesz na wykreślenie tych samych danych, ale użycie przycisków? Zapytałem tylko, że [tutaj] (http://stackoverflow.com/questions/29262916/how-i-get-a-acet-grid-plot-w-free-scales-and-barplots-with-ggplot2) – Juan

+7

czuć, że to nie rozwiązuje problemu. Mam ten sam problem i wszystkie "cyl ~". czy odwróciłem osie. Teraz oś X jest tym, co chcę być wolne, ale nie jest darmowe. Używam wersji R 3.2.3 z ggplot2 w wersji 2.1.0. – landau

8

Nie możesz. Zobacz here

Można użyć facet_wrap zamiast, który będzie „wolny” obu osiach

+0

Pracowałem, dziękuję @ jf328 – RancheroBeans

Powiązane problemy