Hinweis
Zum Ende springen, um den vollständigen Beispielcode herunterzuladen.
Zoom modifiziert andere Achsen#
Dieses Beispiel zeigt, wie Ereignisse in einem Fenster, z. B. ein Mausklick, mit einem anderen Figure-Fenster verbunden werden können.
Wenn Sie auf einen Punkt im ersten Fenster klicken, werden die z- und y-Grenzen des zweiten Fensters so angepasst, dass die Mitte des Zooms im zweiten Fenster die (x, y)-Koordinaten des angeklickten Punktes sind.
Beachten Sie, dass der Durchmesser der Kreise im Scatter in Punkten**2 definiert ist, sodass ihre Größe unabhängig vom Zoom ist.
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
# Fixing random state for reproducibility
np.random.seed(19680801)
figsrc, axsrc = plt.subplots(figsize=(3.7, 3.7))
figzoom, axzoom = plt.subplots(figsize=(3.7, 3.7))
axsrc.set(xlim=(0, 1), ylim=(0, 1), autoscale_on=False,
title='Click to zoom')
axzoom.set(xlim=(0.45, 0.55), ylim=(0.4, 0.6), autoscale_on=False,
title='Zoom window')
x, y, s, c = np.random.rand(4, 200)
s *= 200
axsrc.scatter(x, y, s, c)
axzoom.scatter(x, y, s, c)
def on_press(event):
if event.button != 1:
return
x, y = event.xdata, event.ydata
axzoom.set_xlim(x - 0.1, x + 0.1)
axzoom.set_ylim(y - 0.1, y + 0.1)
figzoom.canvas.draw()
figsrc.canvas.mpl_connect('button_press_event', on_press)
plt.show()

