Como ajustar o tamanho da faceta manualmente
Eu tenho um gráfico facetado com dados muito diversos. Então, algumas facetas têm apenas 1x
valor, mas outros têm 13x
valores. Eu sei que existe o parâmetrospace='free'
que ajusta a largura de cada faceta pelos dados que representa.
Minha pergunta, existe a possibilidade de ajustar esse espaço manualmente? Como algumas das minhas facetas são muito pequenas, não é mais possível ler os rótulos nas facetas. Fiz um pequeno exemplo reproduzível para mostrar o que quero dizer.
df <- data.frame(labelx=rep(c('my long label','short'), c(2,26)),
labely=rep(c('a','b'), each=14),
x=c(letters[1:2],letters[1:26]),
y=LETTERS[6:7],
i=rnorm(28))
ggplot(df, aes(x,y,color=i)) +
geom_point() +
facet_grid(labely~labelx, scales='free_x', space='free_x')
Então, dependendo da sua tela, omy long label
A faceta é compactada e você não pode mais ler o rótulo.
Encontrei um post na internet que parece fazer exatamente o que eu quero fazer, mas isso parece não funcionar mais emggplot2
. O post é de 2010.
https://kohske.wordpress.com/2010/12/25/adjusting-the-relative-space-of-a-facet-grid/
Ele sugere usarfacet_grid(fac1 + fac2 ~ fac3 + fac4, widths = 1:4, heights = 4:1)
, tãowidths
eheights
para ajustar cada tamanho de faceta manualmente.