Recorte una imagen usando varios parches en matplotlib

Tengo una ttwig en pylab que quiero recortar en los bordes de un mapa del Reino Unido.

También he realizado una serie de parches que contienen los perfiles de cada país: uno para Inglaterra, otro para Gales, etc.

Recortar la plot un parche funciona a la perfección:

fig = plt.figure() ax = fig.add_subplot(111) im = ax.scatter(x,y,c = z) ax.add_patch(patch) im.set_clip_path(patch) 

Pero si lo bash por más de uno, no me deja nada, es comprensible, ya que ninguna parte de la ttwig está dentro de cada país simultáneamente.

¿Alguien sabe cómo puedo recortar usando una statement de tipo ‘OR’? (es decir, no recorte si está dentro de este parche o este, etc.).

    Related of "Recorte una imagen usando varios parches en matplotlib"

    Creo que puedes hacer esto haciendo múltiples diagtwigs de dispersión, recortando cada uno con un parche único (por ejemplo, uno tiene Inglaterra, uno tiene Irlanda, etc.). Aunque esto podría no ser lo que pidió, es decir, “¿Alguien sabe cómo puedo recortar usando una statement de tipo ‘OR’?”, Debería tener el mismo efecto:

     import numpy as np import matplotlib.pyplot as plt import matplotlib.patches as patches np.random.seed(101) x = np.random.random(100) y = np.random.random(100) fig = plt.figure() ax = fig.add_subplot(111) imForEngland = ax.scatter(x,y) fig.savefig('beforeclip.png') imForWales = ax.scatter(x,y) england = patches.Circle((.75,.75),radius=.25,fc='none') wales = patches.Circle((.25,.25),radius=.25,fc='none') ax.add_patch(england) ax.add_patch(wales) imForEngland.set_clip_path(england) imForWales.set_clip_path(wales) fig.savefig('afterclip.png') 

    Antes de los parches: introduzca la descripción de la imagen aquí Después de los parches: introduzca la descripción de la imagen aquí