diferentes tamaños de facetas proporcionales del eje x en ggplot 2 r

La siguiente es una situación:

group1 <- seq(1, 10, 2) group2 <- seq(1, 20, 3) x = c(group1, group2) mydf <- data.frame (X =x , Y = rnorm (length (x),5,1), groups = c(rep(1, length (group1)), rep(2, length(group2)))) ggplot(mydf, aes(X, Y, group= groups)) + geom_point()+ facet_grid (.~ group) 

Diferentes facetas son escaladas por x límites en la siguiente gráfica:

  ggplot(mydf, aes(X, Y, group= groups)) + geom_point()+ facet_grid (.~ group, scales = "free_x") 

Como el ancho total de x tiene significado, quiero producir facetas de diferentes anchuras no solo de diferentes escalas. Por lo tanto, la anchura esperada de la faceta 1 debería ser la mitad del tamaño de 2.

enter image description here

Si te entiendo correctamente, space = "free_x" hace lo que quieres.

 library(ggplot2) ggplot(mydf, aes(X, Y)) + geom_point()+ facet_grid (.~ groups, scales = "free_x", space = "free_x") 

enter image description here

Y si quiere el mismo estilo de etiquetado en los ejes x:

 ggplot(mydf, aes(X, Y)) + geom_point()+ scale_x_continuous(breaks = seq(0,20,2)) + facet_grid (.~ groups, scales = "free_x", space = "free_x") 

enter image description here