Jupyter Play виджет пропускает шаги
Обновление: я немного упростил свой первоначальный вопрос.
Я хочу создать анимированный сюжет, но моя реализация - пропуск кадров.
x = np.arange(0,5,0.1)
y = np.cos(3*x)
def f(i):
plt.plot(x[:i],y[:i]);
plt.gca().axis([0,5,-1,1])
plt.gca().set_title(f'{i}')
interactive(f, i=Play(value=0, min=0, max=50, step=1))
Вместо желаемого размера шага (1) он воспроизводится со скоростью около 5 шагов на кадр.
Поведение происходит как на ноутбуке, так и на jupyterlab, а также на внутреннем и внешнем интерфейсах ноутбука (%matplotlib notebook
)
1 ответ
Я думаю, что это связано со временем, затраченным на выполнение функции построения графика. Попробуй изменить interval
между графиками, выглядит так, как указано в миллисекундах.
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from ipywidgets import *
x = np.arange(0,5,0.1)
y = np.cos(3*x)
def f(i):
plt.plot(x[:i],y[:i]);
plt.gca().axis([0,5,-1,1])
plt.gca().set_title(f'{i}')
interactive(f, i=Play(value=0, min=0, max=50, step=1, interval=500))
h ttps://stackru.com/images/dfe64e72fb590d52249792ed7c231a691183dcb0.gif