首页 > 解决方案 > 我们如何更新 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()

我正在寻找<?>更新椭圆补丁参数的正确方法。

标签: pythonmatplotlibellipse

解决方案


还有就是Ellipse.set_center设置xy椭圆中心的坐标。

虽然它有setter,但选项给出的椭圆的旋转angle没有。

您可以angle在椭圆实例上设置属性,然后设置xy

cE.angle = theta_update
cE.set_center(xy_update)

您还可以使用 Ellipse 创建一个新实例Ellipse.update_from并从中更新旧实例

cE.update_from(Ellipse(xy_update, w, h, theta_update))

推荐阅读