Notiz
Klicken Sie hier , um den vollständigen Beispielcode herunterzuladen
Zoomfenster #
Dieses Beispiel zeigt, wie Ereignisse in einem Fenster, z. B. ein Mausklick, mit einem anderen Figurenfenster verbunden werden.
Wenn Sie im ersten Fenster auf einen Punkt 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 Punkts sind.
Beachten Sie, dass der Durchmesser der Kreise im Scatter in Punkten**2 definiert ist, sodass ihre Größe unabhängig vom Zoom ist.
Notiz
Dieses Beispiel übt die interaktiven Fähigkeiten von Matplotlib aus und erscheint nicht in der statischen Dokumentation. 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 unten auf 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()