.. _pylab_examples-image_slices_viewer: pylab_examples example code: image_slices_viewer.py =================================================== .. plot:: /home/tcaswell/src/p/matplotlib/doc/mpl_examples/pylab_examples/image_slices_viewer.py :: from __future__ import print_function import numpy import matplotlib.pyplot as plt class IndexTracker(object): def __init__(self, ax, X): self.ax = ax ax.set_title('use scroll wheel to navigate images') self.X = X rows, cols, self.slices = X.shape self.ind = self.slices//2 self.im = ax.imshow(self.X[:, :, self.ind]) self.update() def onscroll(self, event): print("%s %s" % (event.button, event.step)) if event.button == 'up': self.ind = numpy.clip(self.ind + 1, 0, self.slices - 1) else: self.ind = numpy.clip(self.ind - 1, 0, self.slices - 1) self.update() def update(self): self.im.set_data(self.X[:, :, self.ind]) ax.set_ylabel('slice %s' % self.ind) self.im.axes.figure.canvas.draw() fig, ax = plt.subplots(1, 1) X = numpy.random.rand(20, 20, 40) tracker = IndexTracker(ax, X) fig.canvas.mpl_connect('scroll_event', tracker.onscroll) plt.show() Keywords: python, matplotlib, pylab, example, codex (see :ref:`how-to-search-examples`)