мой вопрос очень похож на этот вопрос !но я хочу использовать 1 круг, чтобы обрезать 2 треугольника или более.
, поэтому я попытался добавить 2 треугольника с add_patch
, но он выдает синтаксическую ошибку:
patchpoly = ax.add_patch(polygon1, polygon2)
, поэтому я знаю, что могуне идите этим путем.
вот код:
fig, ax = plt.subplots()
polygon1 = plt.Polygon([(0,0.6),(1,2),(2,0.4)],color='g',alpha=0.25)
polygon2 = plt.Polygon([(0,0),(1,0.5),(0.5,1)],color='b',alpha=0.25)
circle = plt.Circle((0,0), 1.0, color='r', alpha=0.25)
patchpoly = ax.add_patch(polygon1) # i know this line would be meaningless
patchpoly = ax.add_patch(polygon2)
ax.add_patch(circle)
patchpoly.set_clip_path(circle)
и результат: https://imgur.com/a/jnVXUuE