Observação
Clique aqui para baixar o código de exemplo completo
Janela de Zoom #
Este exemplo mostra como conectar eventos em uma janela, por exemplo, um pressionamento do mouse, a outra janela de figura.
Se você clicar em um ponto na primeira janela, os limites z e y da segunda serão ajustados para que o centro do zoom na segunda janela seja as coordenadas (x, y) do ponto clicado.
Observe que o diâmetro dos círculos na dispersão é definido em pontos**2, portanto, seu tamanho é independente do zoom.
Observação
Este exemplo exercita os recursos interativos do Matplotlib e isso não aparecerá na documentação estática. Por favor, execute este código em sua máquina para ver a interatividade.
Você pode copiar e colar partes individuais ou baixar o exemplo inteiro usando o link na parte inferior da página.
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()