我试图使用Matplotlib中的剪辑来剪切圆形和椭圆形等形状,但是必须有一些我缺少的东西..为什么不将圆圈剪成两半?:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Circle
from matplotlib.transforms import Bbox
clip_box = Bbox(((-2,-2),(2,0)))
circle = Circle((0,0),1,clip_box=clip_box,clip_on=True)
plt.axes().add_artist(circle)
plt.axis('equal')
plt.axis((-2,2,-2,2))
plt.show()
Run Code Online (Sandbox Code Playgroud)
我不知道为什么你的代码不起作用,但是,以下代码段可以按预期工作.
从我的未完成开始,clip_on与将给定剪裁应用于形状无关,但是形状应该在显示区域中剪切.
import matplotlib.pyplot as plt
from matplotlib.patches import Circle, Rectangle
rect = Rectangle((-2,-2),4,2, facecolor="none", edgecolor="none")
circle = Circle((0,0),1)
plt.axes().add_artist(rect)
plt.axes().add_artist(circle)
circle.set_clip_path(rect)
plt.axis('equal')
plt.axis((-2,2,-2,2))
plt.show()
Run Code Online (Sandbox Code Playgroud)