Я пытаюсь отладить этот код из моей лекции, чтобы он работал на моем компьютере (Win10).При запуске в терминале я получаю первое изображение, которое определено секцией plt.figure()
, но часть анимации никогда не запускается.Вместо этого я получаю код ошибки, связанный с подушками.
Я скачал ffmep, используя pip, а также обновил свой файл matplotlib.
Вот код:
if plot_flag == True:
res = []
for i in range(N):
res.append(np.array(list_particles[i].pos))
if plot_flag == True:
### display one trajectory
pos = res[0]
plt.plot(pos[:,0],pos[:,1],'k-')
plt.show()
###produce an animation
fig = plt.figure()
ax = fig.add_subplot(111, autoscale_on=False, xlim=(0, L), ylim=(0, L))
ax.grid()
patch=[]
for i in range(N):
patch.append(plt.Circle(res[i][0,:],list_particles[i].radius,fc="r"))
ax.add_patch(patch[i])
def animate(i):
for j in range(N):
x,y=res[j][i,:]
patch[j].center= (x,y)
def init():
line.set_data([], [])
time_text.set_text('')
return line, time_text
ani = animation.FuncAnimation(fig, animate, np.arange(0, Niter),
interval=25, blit=False)
ani.save("gas.mp4",fps=25)
Мне нужно получить анимацию после закрытия окна рисунка, но вместо этого я получаю сообщения об ошибках:
MovieWriter ffmpeg unavailable. Trying to use pillow instead.
, что ничего не значит ни для меня, ни для Интернета.Большую часть этого кода я могу понять, кроме res[i][0,:]
(строка 16), который не имеет никакого смысла для меня, сначала я подумал, что запятой не должно быть, но тот же синтаксис повторяется в строке 21: x,y=res[j][i,:]
,
Я также не могу запустить этот код в spyder, так как я получаю ошибку deprecated (), которая пытается заблокировать даже полезную отладку.
Может кто-нибудь помочь мне понять, что происходит, потому что я совершеннопотерян, спасибо большое.