我们如何更新 matplotlib 中椭圆面片的参数?

How do we update the parameters of an ellipse patch in matplotlib?

我是 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 面片参数的正确方法。

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))