在matplotlib中剪切带有圆的试验角

在matplotlib中剪切带有圆的试验角,matplotlib,Matplotlib,我想画一个三角形,但其中一条边必须是一个圆段。该示例不起作用:需要删除圆圈外的所有蓝色。这可以直接完成,而不用自己计算整个轮廓吗 谢谢大家! import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(1, 1, 1) polygon = plt.Polygon([(0,0.6),(1,2),(2,0.4)], True) circle=plt.Circle((0,0),1.0,facecolor='None'

我想画一个三角形,但其中一条边必须是一个圆段。该示例不起作用:需要删除圆圈外的所有蓝色。这可以直接完成,而不用自己计算整个轮廓吗

谢谢大家!

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
polygon = plt.Polygon([(0,0.6),(1,2),(2,0.4)], True)
circle=plt.Circle((0,0),1.0,facecolor='None', edgecolor='black')
ax.add_patch(polygon)
ax.add_patch(circle)

plt.show()

如果捕获多边形的添加面片,则可以使用
set\u clip\u path
属性。举个例子:

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

polygon = plt.Polygon([(0,0.6),(1,2),(2,0.4)], True)
circle = plt.Circle((0,0),1.0,facecolor='None', edgecolor='black')

patch_poly = ax.add_patch(polygon)    
ax.add_patch(circle)

patch_poly.set_clip_path(circle)