ggplot: Comment augmenter l'espacement entre les parcelles à facettes?

113

J'ai plusieurs histogrammes à facettes (obtenus avec la commande ci-dessous) qui sont joliment tracés l'un sous l'autre. Je voudrais augmenter l'espacement entre eux, cependant, ils sont serrés.

J'ai regardé la doc mais je n'ai pas trouvé de paramètre pour cela.

qplot (Happiness.Level, Number.of.Answers, data=mydata, geom="histogram") + facet_grid (Location ~ .) 
wishihadabettername
la source
Un commentaire secondaire que j'ai trouvé une autre façon d'aborder cela (utilisé un face_wrap au lieu de facet_grid et le graphique résultant est plus beau). Je suis toujours intéressé s'il existe un moyen de répondre à la question initiale.
wishihadabettername
2
Essayez theme_get () pour une multitude d'options cachées que vous pouvez ajuster avec opts ()
Brandon Bertelsen

Réponses:

168

Utilisez la fonction de thème :

library(grid)

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

Voir aussi ici: Tracés de découpage générés par ggplot2

rcs
la source
8
En raison d'une autre mise à jour, l'incantation est maintenanttheme(panel.margin = unit(2, "lines"))
David
11
Mise à jour - est maintenanttheme(panel.spacing = unit(1, "lines"))
Mr.ecos
Cela fonctionne sans le gridpackage. D'après mon expérience, les étiquettes x de deux parcelles côte à côte se chevauchent souvent (la plus grande étiquette sur la gauche et la plus petite étiquette sur la droite). Une solution pour corriger la sortie consiste à ggsaveutiliser une largeur supérieure à la valeur par défaut. Mais je trouve theme(panel.spacing = unit(1, "lines"))plus agréable car cela fonctionne également pour la fenêtre de tracé contextuelle.
PatrickT