dat <- c(28,50,37,51,42,27,40,38,46,48,56,29,44,40,42,46,50,30,60,30,43,66,32,36,35,48,47,43,39,26,44,32,35,47,42,47,34,39,34,60,43,26,50,43,61,42,32,45,46,49,54,51,39,26,49)
range(dat)
#> [1] 26 66
bins <- c(min(dat),32,42,50,58,max(dat))
hist(dat, breaks = bins)

To do this in ggplot, use the breaks argument in scale_x_binned