ggplot2: corrige a altura / largura do eixo ao combinar gráficos [duplicado]

Esta pergunta já tem uma resposta aqui:

Alinhar à esquerda duas arestas do gráfico (ggplot) 8 respostas
library(ggplot2)
library(gridExtra)

df1 <- data.frame(x=c("A1","A2","A3","A4"),something=c(10,18,24,32))
df2 <- data.frame(x=c("C1","C2","C3","C4"),somethingelse=c(10543,182334,242334,32255))


p1 <- ggplot(df1,aes(x,something))+
  geom_bar(stat="identity")
p2 <- ggplot(df2,aes(x,somethingelse))+
  geom_bar(stat="identity")


png("test.png",height=8,width=6,res=120,units="cm")
gridExtra::grid.arrange(p1,p2,heights=grid::unit(c(4,4),"cm"))
dev.off()

Quando eu combino manualmente duas ou mais plotagens, como acima, como posso fixar as larguras do eixo y iguais, para que minhas barras se espalhem por todas as plotagens (A1-C1, A2-C2, ..)? Existe alguma maneira de calcular a largura máxima da etiqueta y e aplicá-la ao eixo y de todas as plotagens? E não, facetas não são algo que eu quero neste caso em particular.

questionAnswers(1)

yourAnswerToTheQuestion