Hinweis
Gehen Sie zum Ende, um den vollständigen Beispielcode herunterzuladen.
Scroll-Ereignis#
In diesem Beispiel wird ein Scrollrad-Ereignis verwendet, um durch 2D-Schnitte von 3D-Daten zu scrollen.
Hinweis
Dieses Beispiel demonstriert die interaktiven Fähigkeiten von Matplotlib und wird nicht in der statischen Dokumentation angezeigt. Bitte führen Sie diesen Code auf Ihrem Computer aus, um die Interaktivität zu sehen.
Sie können einzelne Teile kopieren und einfügen oder das gesamte Beispiel über den Link am Ende der Seite herunterladen.

import matplotlib.pyplot as plt
import numpy as np
class IndexTracker:
def __init__(self, ax, X):
self.index = 0
self.X = X
self.ax = ax
self.im = ax.imshow(self.X[:, :, self.index])
self.update()
def on_scroll(self, event):
print(event.button, event.step)
increment = 1 if event.button == 'up' else -1
max_index = self.X.shape[-1] - 1
self.index = np.clip(self.index + increment, 0, max_index)
self.update()
def update(self):
self.im.set_data(self.X[:, :, self.index])
self.ax.set_title(
f'Use scroll wheel to navigate\nindex {self.index}')
self.im.axes.figure.canvas.draw()
x, y, z = np.ogrid[-10:10:100j, -10:10:100j, 1:10:20j]
X = np.sin(x * y * z) / (x * y * z)
fig, ax = plt.subplots()
# create an IndexTracker and make sure it lives during the whole
# lifetime of the figure by assigning it to a variable
tracker = IndexTracker(ax, X)
fig.canvas.mpl_connect('scroll_event', tracker.on_scroll)
plt.show()