python3 исправляет класс cirlce как вызвать метод set_center () родительского класса ellipse - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу анимацию из одной точки (2,1) в пункт назначения (5,4), я не могу обновить центр круга, я обнаружил, что в классе круга нет метода set_center, я обнаружил, что он находится в родительском классе, но я использую супер (круг, патч) вызов родительского метода set_center, который показывает, что у него нет атрибута set_center (), я потерян, код выглядит следующим образом:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Circle
from matplotlib import animation
x = [0, 1, 2]
y = [0, 1, 2]
yaw = [0.0, 0.5, 1.3]
fig = plt.figure()
plt.axis('equal')
plt.grid()
ax = fig.add_subplot(111)
ax.set_xlim(-10, 10)
ax.set_ylim(-10, 10)
# patch = patches.Rectangle((0, 0), 0, 0, fc='y',color='red')
patch = Circle((0, 0), 0, color='red',fill=False)
def init():
    ax.add_patch(patch)
    return patch,
def animate(i):
    # patch.set_width(1.2)
    # patch.set_height(1.0)
    patch.set_radius(0.5)
    # patches.Circle((x[i],y[i]))
    # super(Circle,patch).set_center(x[i],y[i])  show no attribute set_center
    patch._angle = -np.rad2deg(yaw[i])
    return patch,

    anim = animation.FuncAnimation(fig, animate,init_func=init,frames=len(x),interval=500,blit=True)
plt.show() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...