Jupyter Play小部件跳过步骤

时间:2019-02-11 05:15:31

标签: matplotlib jupyter-notebook jupyter jupyter-lab ipywidgets

更新:我已经将原来的问题简化了很多。

我想创建一个动画情节,但是我的实现是跳过帧。

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))

enter image description here

它不是我期望的步长(1),而是每帧大约5步播放。

笔记本和jupyterlab以及行内和笔记本前端(%matplotlib notebook)上的行为都发生了

1 个答案:

答案 0 :(得分:0)

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

enter image description here