I have two lists of xy coordinates, which I use to plot two curves. I'm interested in the area above the curves, so I used fill_between to arrive at this:
Now, what I want is a way to get the coordinates that were not covered by the colored areas, so I can then plot a third curve like the red one I did using Paint in the example below:
I tried sorting the lists and then comparing each pair to find the ones with lower y values, but that doesn't work because each list can have different sizes and different x values. I also found a couple of threads about cross products, but those were using straight lines and I failed to understand how it could be extrapolated to my case.
Here is a mwe:
import matplotlib.pyplot as plt
points_x = [1,3,5,7,9,11,13,15,17,19]
points_y = [10,8,7,6,3,5,3,9,7,6]
points_x2= [0,2,4,8,10,12,14,15,17,19,20,21,22]
points_y2 = [12,10,9,4,2,7,3,8,8,8,8,8,8]
plt.scatter(points_x, points_y, color="blue")
plt.scatter(points_x2, points_y2, color="green")
plt.fill_between(points_x, points_y, plt.ylim()[1], color='blue', alpha=0.5)
plt.fill_between(points_x2, points_y2, plt.ylim()[1], color='green', alpha=0.5)
#way to make a points_x3/points_y3 with only the coordinates at the edge of the
#overlapped areas
plt.show()
(I was having trouble coming up with the right terms to define my issue (non-native speaker and not used to much math terminology), so I apologize for potentially making a duplicate question)



