我是Matplotlib的新手,正在尝试使用for
循环更新椭圆补丁。
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse
fig, plts = plt.subplots(1,1)
cE = Ellipse(xy, w, h, theta)
plts.add_patch(cE)
plt.show()
for i in range(0, 10):
xy_update, theta_update = some_function(i)
cE.<?> = xy_update
cE.<?> = theta_update
canvas.draw()
我正在寻找<?>
更新椭圆补丁参数的正确方法。
分析解答
有Ellipse.set_center
可以设置椭圆中心的xy
坐标。
虽然它具有setter
,但是angle
选项给出的椭圆旋转没有。
您可以在椭圆实例上设置angle
属性,然后设置xy
。
cE.angle = theta_update
cE.set_center(xy_update)
您还可以使用Ellipse.update_from
创建一个新的Ellipse实例,并从中更新旧实例
cE.update_from(Ellipse(xy_update, w, h, theta_update))