使用Jupyter在Python Matplotlib上随时间变化的绘图

使用Jupyter在Python Matplotlib上随时间变化的绘图,python,matplotlib,spyder,jupyter,Python,Matplotlib,Spyder,Jupyter,在下面几行中,我报告了一段代码,该代码在Anaconda Spyder上使用Python生成一个随时间变化的绘图 import matplotlib.pyplot as plt import numpy as np x = np.arange(-3, 3, 0.01) N = 1 fig = plt.figure() ax = fig.add_subplot(111) for N in range(8): y = np.sin(np.pi*x*N) line, = ax.plo

在下面几行中,我报告了一段代码,该代码在Anaconda Spyder上使用Python生成一个随时间变化的绘图

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-3, 3, 0.01)
N = 1
fig = plt.figure()
ax = fig.add_subplot(111)
for N in range(8):
    y = np.sin(np.pi*x*N)
    line, = ax.plot(x, y)
    plt.draw()
    plt.pause(0.5)
    line.remove()
我想用Jupyter做一些,但这是不可能的。特别是,Jupyter上似乎不存在Matplotlib方法.pause()。
有没有人能解释一下这种差异,并能帮我在Jupyter上用Python构建一个绘图随时间变化的代码?

如果我使用magic命令选择一个
交互式后端
%matplotlib
;您的
Jupyter
笔记本设置可能设置为内联显示绘图

import matplotlib.pyplot as plt
import numpy as np

%matplotlib

x = np.arange(-3, 3, 0.01)
N = 1
fig = plt.figure()
ax = fig.add_subplot(111)
for N in range(8):
    y = np.sin(np.pi*x*N)
    line, = ax.plot(x, y)
    plt.draw()
    plt.pause(0.5)
    line.remove()

要恢复设置,请使用magic
%matplotlib内联

这将打开一个外部matplotlib窗口,效果良好。对于动画内联,我还没有看到解决方案。然而,内联工作的是“交互”的交互性,因此可以内联显示更改的绘图。也许有一种方法可以“伪造”一个变化的滑块?好吧,内联matplotlib绘图不能是交互式的,不幸的是,除非你想使用外部JS库(interact widgets,或plotly,或seaborn)交互式作品,否则就一直这样做,而不是动画
%matplotlib inline
将matplotlib.pyplot作为p`
从ipywidgets导入*
将numpy作为np导入t=np.arange(-3,3,0.01)定义正弦(a,f):f=a*np.sin(2*np.pi*f*t)p.plot(t,f)p.ylim([-3,3])交互(正弦,a=[1,3,01]),f=[1,5,0.01]