Introdução
Este laboratório demonstra um exemplo de como interagir com a tela de plotagem conectando-se a eventos de movimento e clique usando a biblioteca Matplotlib em Python. Matplotlib é uma biblioteca de visualização de dados que permite aos usuários criar visualizações estáticas, animadas e interativas em Python.
Dicas da 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ê.
Criando um Gráfico de Onda Senoidal
Primeiramente, precisamos criar um gráfico de onda senoidal usando as bibliotecas numpy e matplotlib.
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 1.0, 0.01)
s = np.sin(2 * np.pi * t)
fig, ax = plt.subplots()
ax.plot(t, s)
Evento de Movimento do Mouse
Podemos nos conectar aos eventos de movimento do mouse usando o método motion_notify_event. Neste exemplo, estamos imprimindo as coordenadas de dados x e y e as coordenadas de pixel x e y quando o mouse se move sobre o gráfico.
def on_move(event):
if event.inaxes:
print(f'data coords {event.xdata} {event.ydata},',
f'pixel coords {event.x} {event.y}')
binding_id = plt.connect('motion_notify_event', on_move)
Evento de Clique do Mouse
Podemos nos conectar aos eventos de clique do mouse usando o método button_press_event. Neste exemplo, estamos desconectando o callback do evento de movimento do mouse quando o botão esquerdo do mouse é clicado.
from matplotlib.backend_bases import MouseButton
def on_click(event):
if event.button is MouseButton.LEFT:
print('disconnecting callback')
plt.disconnect(binding_id)
plt.connect('button_press_event', on_click)
Exibindo o Gráfico
Finalmente, precisamos exibir o gráfico usando o método show.
plt.show()
Resumo
Este laboratório demonstrou como interagir com um gráfico Matplotlib usando eventos de movimento e clique do mouse. Ao conectar-se a esses eventos, podemos realizar várias ações, como imprimir as coordenadas do ponteiro do mouse, desconectar callbacks, etc. Essa técnica pode ser útil para criar visualizações interativas em Python.