ggplot: Como aumentar o espaçamento entre plotagens facetadas?

114

Eu tenho vários histogramas facetados (obtidos com o comando abaixo) que são lindamente plotados um sob o outro. Gostaria de aumentar o espaçamento entre eles, porém, eles são apertados.

Olhei para o doc, mas não encontrei um parâmetro para isso.

qplot (Happiness.Level, Number.of.Answers, data=mydata, geom="histogram") + facet_grid (Location ~ .) 
wishihadabettername
fonte
Um comentário lateral que eu encontrei outra maneira de abordar isso (usei um colored_wrap em vez de facet_grid e o gráfico resultante é mais bonito). Ainda estou interessado em saber se há uma maneira de resolver a questão original.
wishihadabettername
2
Experimente theme_get () para uma série de opções ocultas que você pode ajustar com opts ()
Brandon Bertelsen

Respostas:

169

Use a função tema :

library(grid)

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

Veja também aqui: Gráficos de corte gerados por ggplot2

rcs
fonte
8
Devido a outra atualização, o encantamento é agoratheme(panel.margin = unit(2, "lines"))
David J. Harris
11
Atualização - agora étheme(panel.spacing = unit(1, "lines"))
Mr.ecos
Isso funciona sem o gridpacote. Na minha experiência, os rótulos x de dois gráficos lado a lado freqüentemente se sobrepõem (o maior rótulo no lhs e o menor rótulo nos rhs). Uma solução para corrigir a saída é ggsavecom uma largura maior do que o padrão. Mas acho theme(panel.spacing = unit(1, "lines"))melhor porque também funciona para a janela pop-up de plotagem.
PatrickT