Python 使用绑定器上的ipyvidgets和matplotlib的交互式绘图生成静态图像

Python 使用绑定器上的ipyvidgets和matplotlib的交互式绘图生成静态图像,python,matplotlib,interactive,mybinder,Python,Matplotlib,Interactive,Mybinder,我正在尝试在上共享github回购。在本地,使用matplotlib和@interact的交互式绘图工作正常。在活页夹上,它工作了一半。当滑块值更改时,相同的代码会将静态图像添加到活页夹笔记本中的单元格输出 问题:如何修复活页夹行为并制作交互式情节 git存储库 我的笔记本如下所示: %pylab内联 从ipywidgets导入交互小部件 x=np.linspace(0,np.pi,100) @互动 def plot_interactive(a=widgets.FloatSlider(min

我正在尝试在上共享github回购。在本地,使用matplotlib和@interact的交互式绘图工作正常。在活页夹上,它工作了一半。当滑块值更改时,相同的代码会将静态图像添加到活页夹笔记本中的单元格输出

问题:如何修复活页夹行为并制作交互式情节

git存储库

我的笔记本如下所示:

%pylab内联
从ipywidgets导入交互小部件
x=np.linspace(0,np.pi,100)
@互动
def plot_interactive(a=widgets.FloatSlider(min=1,max=10,val=1)):
图(x,np.sin(x*a))
gca().set_aspect('equal')
ylim(-1.1,1.1)
活页夹截图:
找到了一个很好的工作示例:

其要点是使用
%matplotlib widget
@widgets.interact

现在似乎不鼓励使用
%pylab inline
,请参阅

我从教程中复制了一部分代码,产生了与问题中所需的相同的结果

%matplotlib小部件
将IPyWidget作为小部件导入
将matplotlib.pyplot作为plt导入
将numpy作为np导入
#设置绘图
图,ax=plt.子批次(图尺寸=(6,4))
ax.set_ylim([-4,4])
ax.grid(真)
#生成x值
x=np.linspace(0,2*np.pi,300)
定义我的正弦(x,w,amp,phi):
"""
用角频率w和振幅放大器返回x的正弦。
"""
返回电流np.sin(w*(x-phi))
@widgets.interact(w=(0,10,1),amp=(0,4,1),phi=(0,2*np.pi+0.01,0.01))
def更新(w=1.0,amp=1,phi=0):
“”“从打印中删除旧行并打印新行”“”
[l.remove()表示ax.行中的l]
ax.plot(x,my_sine(x,w,amp,phi),color='C0')