ggplot: Jak zwiększyć odstępy między wykresami fasetowymi?


114

Mam kilka fasetowanych histogramów (uzyskanych za pomocą poniższego polecenia), które są ładnie wykreślone jeden pod drugim. Chciałbym zwiększyć odstępy między nimi jednak są ciasne.

Spojrzałem na dokument, ale nie znalazłem parametru do tego.

qplot (Happiness.Level, Number.of.Answers, data=mydata, geom="histogram") + facet_grid (Location ~ .) 

Boczny komentarz, że znalazłem inny sposób podejścia do tego (użyłem faced_wrap zamiast facet_grid, a wynikowy wykres wygląda lepiej). Nadal jestem zainteresowany, czy istnieje sposób na rozwiązanie pierwotnego pytania.
Wishihadabettername

2
Wypróbuj theme_get (), aby uzyskać mnóstwo ukrytych opcji, które możesz dostosować za pomocą opts ()
Brandon Bertelsen

Odpowiedzi:


169

Użyj funkcji motywu :

library(grid)

p + theme(panel.spacing = unit(2, "lines"))

Zobacz także tutaj: Wykresy cięcia generowane przez ggplot2



8
Z powodu kolejnej aktualizacji zaklęcie jest teraztheme(panel.margin = unit(2, "lines"))
David J. Harris

11
Aktualizacja - jest teraztheme(panel.spacing = unit(1, "lines"))
pan ecos

Działa to bez gridpakietu. Z mojego doświadczenia wynika, że ​​etykiety x dwóch wykresów obok siebie często nachodzą na siebie (największa etykieta po lewej stronie i najmniejsza etykieta po prawej stronie). Jednym z rozwiązań, które można naprawić, jest ggsaveużycie większej szerokości niż domyślna. Ale uważam, że jest theme(panel.spacing = unit(1, "lines"))ładniejszy, ponieważ działa również w wyskakującym oknie wykresu.
PatrickT
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.