Tutorial de Manipulação de Eventos em Matplotlib

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Este laboratório é um tutorial passo a passo sobre como conectar eventos em uma janela, por exemplo, um clique do mouse, a outra janela de figura no Python Matplotlib.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook para acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Configurar o ambiente

Primeiro, precisamos configurar o ambiente Python e importar as bibliotecas necessárias.

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)

Definir a função on_press

Em seguida, definimos uma função chamada on_press que ajustará os limites z e y da segunda janela com base na localização de um clique do mouse na primeira janela.

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()

Conectar o evento à função

Agora, conectamos o evento de pressionar o botão na primeira janela à função on_press que acabamos de definir.

figsrc.canvas.mpl_connect('button_press_event', on_press)

Exibir o gráfico

Finalmente, exibimos o gráfico para o usuário.

plt.show()

Resumo

Neste laboratório, aprendemos como conectar eventos em uma janela, por exemplo, um clique do mouse, a outra janela de figura em Python Matplotlib. Também aprendemos como definir uma função para ajustar os limites da segunda janela com base na localização de um clique do mouse na primeira janela, e como conectar o evento de pressionar o botão a esta função.