La première fois, mais pas les fois suivantes, que j'exécute ce bloc de code, j'obtiens une erreur. Quelqu'un peut-il m'aider à comprendre pourquoi ?
Il n'y a pas du tout de messages précédents de l'OS sur cette erreur (du moins dans les résultats de recherche).
Je suis assez novice en matière de codage. D'après ce que je sais, il s'agit d'une erreur de séquence dans mon code. À savoir, la première fois, l'attribut n'est pas (encore) chargé, puis l'attribut est chargé plus loin dans le bloc de code, ce qui le rend disponible lorsque je réexécute le code. Le problème est que je n'arrive pas à savoir de quelle partie du code il s'agit.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
%matplotlib notebook
def data_gen(t=0):
cnt = 0
while cnt < 150:
cnt += 1
t += 0.1
yield t, np.sin(2*np.pi*t) * np.exp(-t/10.)
def init():
ax.set_ylim(-1.1, 1.1)
ax.set_xlim(0, 10)
del xdata[:]
del ydata[:]
line.set_data(xdata, ydata)
return line,
fig, ax = plt.subplots()
line, = ax.plot([], [], lw=2)
ax.grid()
xdata, ydata = [], []
def run(data):
# update the data
t, y = data
xdata.append(t)
ydata.append(y)
xmin, xmax = ax.get_xlim()
if t >= xmax:
ax.set_xlim(xmin, 2*xmax)
ax.figure.canvas.draw()
line.set_data(xdata, ydata)
return line,
ani = animation.FuncAnimation(fig, run, data_gen, blit=False, interval=15,
repeat=False, init_func=init)
plt.show()
Message d'erreur
> Traceback (most recent call last): File
> "/Users/alexfreeman/Documents/Dev/AnacondaInstall/anaconda/envs/py3-env/lib/python3.6/site-packages/matplotlib/cbook/__init__.py",
> line 387, in process
> proxy(*args, **kwargs) File "/Users/alexfreeman/Documents/Dev/AnacondaInstall/anaconda/envs/py3-env/lib/python3.6/site-packages/matplotlib/cbook/__init__.py",
> line 227, in __call__
> return mtd(*args, **kwargs) File "/Users/alexfreeman/Documents/Dev/AnacondaInstall/anaconda/envs/py3-env/lib/python3.6/site-packages/matplotlib/animation.py",
> line 1499, in _stop
> self.event_source.remove_callback(self._loop_delay) AttributeError: 'NoneType' object has no attribute 'remove_callback'