You can try using the "fill" function (could also use "patch"). Just off the top of my head, if you can compute the area between one of the red/green curve boundaries then use the vector of x and y values to form the polygon. Just remember that the x values will travel from x0 to xmax and back to x0, and the same for the y values. You want to trace the red curve then connect the end of the red curve to the green curve, then travel back up the green curve. So, for example, given the rightmost red/green region, x will go from -2 to about 1.2 then back to -2, and y will go from 0 to 300 and back to 0.