matplotlib.widget无法在ipython笔记本中工作

geo*_*hys 5 widget matplotlib ipython-notebook

我一直在将代码片段从http://goo.gl/J802b0复制到ipython笔记本控制台中,以试用这些matplotlib功能.我在移动输入代码单元后出现了滑块和按钮,但没有任何功能.

我正在运行ipython notebook --pylab inline.

任何建议将非常感谢.

这是一个绘制正弦波并添加下一个和前一个按钮的示例,这些按钮可能会改变轴,但我没有交互性:

from matplotlib.widgets import Button

fig, ax = plt.subplots()
fig.subplots_adjust(bottom=0.2)

t = np.linspace(0, 10, 1000)
line, = plt.plot(t, np.sin(t), lw=2)

class Index:
    dt = 0
    def next(self, event):
        self.dt -= 1
        line.set_ydata(np.sin(t + self.dt))
        fig.canvas.draw()

    def prev(self, event):
        self.dt += 1
        line.set_ydata(np.sin(t + self.dt))
        fig.canvas.draw()

callback = Index()
axprev = plt.axes([0.7, 0.05, 0.1, 0.075])
axnext = plt.axes([0.81, 0.05, 0.1, 0.075])

bnext = Button(axnext, '>')
bnext.on_clicked(callback.next)

bprev = Button(axprev, '<')
bprev.on_clicked(callback.prev)
Run Code Online (Sandbox Code Playgroud)

tac*_*ell 4

这些数字在网络浏览器中以 png 形式提供,并且没有某种图像映射(查看笔记本为您提供的内容的来源),因此我认为内联数字中尚不存在此功能。

如果您使用包含的交互式后端之一(使用您选择的 GUI 工具包),该代码应该可以工作。