lubridate::floor_date() to select the nearest "1 week" and plot by that value, or lubridate::year() and lubridate::week()/lubridate::isoweek() and join these into a new factor.
You could also plot week on the x-axis and use ggplot2::facet_wrap() with year, but this is not ideal.