Мне трудно понять, почему анимация, которую я создаю в приведенном ниже коде, занимает гораздо больше времени в записной книжке Jupyter, чем в скрипте Python, запускаемом в Spyder (1 минута против мгновенно).Я бы предпочел остаться в ноутбуке Jupyter, но буду увеличивать его и беспокоюсь о времени работы в будущем.
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
%matplotlib inline
plt.rcParams["animation.html"] = "html5"
#Defining our figure
Fig, ax = plt.subplots()
Point, = ax.plot( [], [], 'ko')
ax.set_xlim(0, 5000)
ax.set_ylim(0, 400)
ax.grid()
ax.set_xlabel('x (m)')
g = 9.8
theta = 20
v0 = 250
t0 = 0
dt = .01
maxframe = 1747
def init():
Point, = ax.plot([],[],'ko')
return Point,
def runfunc (i):
xdata = ( v0 * (t0 + i*dt) * np.cos(np.deg2rad(theta)))
ydata = ( v0 * (t0 + i*dt) * np.sin(np.deg2rad(theta)) - .5*g*
(t0 + i*dt)**2)
Point.set_data(xdata, ydata)
return Point,
anim = animation.FuncAnimation(Fig, runfunc, init_func=init,
frames=maxframe, interval=5, blit=True)
anim
Результат один и тот же, независимо от того, у меня "blit" равно true или false.Если я уменьшу количество кадров, анимация не достигнет желаемого конца.Может ли это быть проблема с памятью или графикой Jupyter?
ПРИМЕЧАНИЕ. В Spyder практически тот же код делает анимацию мгновенно, но, кажется, движется по ней с непостоянной скоростью, что также кажется странным.