Is there some way to plot a graph in ggplot2 where I use facet_wrap with scales = "free", but where I set the limits to be the same for the x- and the y-axis in each of the faceted plots? I want to do scatterplots where I have percentages at the axes. The comparison will be easier if the two axes have the same breaks and limits. If I don't set scales = "free", I can achieve this, but then axes are not adapted to the points in each of the faceted plots.

I could, of course, make separate plots and combine them using patchwork, but it would be easier if I could use facet_wrap in some way.

Sorry if I wasn't clear. See the example below. I would like the axes in each plot to have the same limits and breaks so that the dashed line will be 45 degrees. Preferably, I would also like to be able to set the axes to start at zero.

library(tidyverse)
tibble(x = runif(50, 0, .03),
y = runif(50, 0, .07),
group = "A") |>
bind_rows(tibble(x = runif(50, 0.4, .9),
y = runif(50, 0.5, .7),
group = "B")) |>
ggplot(aes(x, y)) +
geom_point() +
facet_wrap(~group, scales = "free") +
geom_abline(slope = 1, color = "red", linetype = "dashed")