首页 > 解决方案 > 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 步的速度播放。

行为发生在 notebook 和 jupyterlab 以及 inline 和 notebook 前端(%matplotlib notebook

标签: matplotlibjupyter-notebookjupyterjupyter-labipywidgets

解决方案


我认为这与执行绘图功能所花费的时间有关。尝试改变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))

在此处输入图像描述


推荐阅读