Если я правильно вас понимаю, space = "free_x"
делает то, что вы хотите.
library(ggplot2)
ggplot(mydf, aes(X, Y)) + geom_point()+
facet_grid (.~ groups, scales = "free_x", space = "free_x")
[/g0]
И если вам нужен тот же стиль маркировки на оси х:
ggplot(mydf, aes(X, Y)) + geom_point()+
scale_x_continuous(breaks = seq(0,20,2)) +
facet_grid (.~ groups, scales = "free_x", space = "free_x")
[/g1]