注意
前往結尾以下載完整的範例程式碼。
縮放修改其他軸#
此範例顯示如何將一個視窗中的事件(例如滑鼠按壓)連接到另一個圖形視窗。
如果您在第一個視窗中按一下一個點,則會調整第二個視窗的 z 和 y 限制,使第二個視窗中縮放的中心將成為所按一下點的 (x, y) 座標。
請注意,散佈圖中圓圈的直徑以點**2 定義,因此它們的大小與縮放無關。
注意
此範例練習 Matplotlib 的互動功能,並且不會出現在靜態文件中。 請在您的電腦上執行此程式碼以查看互動性。
您可以複製貼上個別部分,或使用頁面底部的連結下載整個範例。
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()