Следующий код предназначен для создания повторяющейся анимации (на основе this ) в Jupyter Notebook.
Но кадр не «инициализируется» в начале каждого повторения, т.е. повторяетсяанимация рисуется на предыдущем графике.
Что не так с кодом?Кто-нибудь может указать, что пошло не так?
Заранее спасибо.
%matplotlib notebook
import numpy as np
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from scipy.stats import norm
n=20
x=list(range(n))
y=norm.rvs(10, 3, size=n)
df=pd.DataFrame({'Y':y, 'X':x})
Writer = animation.writers['ffmpeg']
writer = Writer(fps=20, metadata=dict(artist='Me'), bitrate=1800)
fig = plt.figure(figsize=(5,3))
plt.xlim(x[0], x[-1])
plt.ylim(np.min(df['Y']), np.max(df['Y']))
def animate(i):
data = df.iloc[:int(i+1),]
plt.plot(data['X'], data['Y'])
ani = matplotlib.animation.FuncAnimation(fig, animate, frames=n, repeat=True)
plt.show()