Я новичок в 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
, и обновить из него старый.
cE.update_from(Ellipse(xy_update, w, h, theta_update))
Рад, что вы нашли ответ. Да, вы правы, у Ellipse
есть особые свойства. Однако эллипс центр является частным, поэтому для его установки необходимо пройти через общедоступный сеттер.
... и, как всегда, решение должно быть найдено по 15-й ссылке на странице 2 после того, как мой вопрос только что опубликовал. Ха-ха, я собирался зайти, чтобы удалить свой вопрос, но вы добрались до него раньше меня. Спасибо, Олувафеми. Я думаю, что есть специальные свойства для
cE.center
,cE.angle
,cE.width
и т. д.