Make the background of a graph different colours in different regions

I want to change the background color of a graphic just behind a part of some data like the following image.

Can you help me please?

Have a look at 7.5 Adding a Shaded Rectangle | R Graphics Cookbook, 2nd edition

@jrkrideau

geom_ribbon() ?geom_ribbon is also useful as I can define the starting and the end value of the X axis.

Thank you very much.