在matplotlib中用圆圈剪切三角形

时间:2014-03-24 14:31:23

标签: 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', edgecolor='black')
ax.add_patch(polygon)
ax.add_patch(circle)

plt.show()

1 个答案:

答案 0 :(得分:2)

如果捕获添加的多边形补丁,则可以使用set_clip_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)

enter image description here