Will this do the job? I've done something slightly hacky with facets but it seems to do the job. You might want to change the theming of the facet strip.
library(tidyverse)
df = tibble(x = 1:10) %>%
mutate(
area = case_when(
x %in% c(1,2,6) ~ "Area 1",
x %in% c(4,5,8) ~ "Area 2",
x %in% c(3,7,9,10) ~ "Area 3"
),
x = factor(x),
y = 1:10)
ggplot(df, aes(x, y)) +
geom_col() +
facet_wrap(~area, scales = "free_x", strip.position = "bottom") +
theme_light() +
theme(strip.placement = "outside",
panel.border = element_blank(),
axis.line = element_line()) +
labs(x = "X LABEL", y = "Y LABEL")

Created on 2022-02-11 by the reprex package (v2.0.1)