Introdução
Matplotlib é uma biblioteca de visualização de dados para Python. Ela oferece uma variedade de ferramentas para criar visualizações estáticas, animadas e interativas em Python. Uma das funcionalidades interativas do Matplotlib é a capacidade de detectar quando o mouse entra e sai de uma figura ou de um eixo (axes). Neste laboratório, aprenderemos como usar os eventos de entrada/saída (enter/leave) de Figura (Figure) e Eixos (Axes) do Matplotlib para alterar as cores das bordas da figura e dos eixos.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e 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ê.
Importando Matplotlib
Antes de começarmos a usar Matplotlib, precisamos importá-lo. Também importaremos o módulo pyplot, que fornece uma interface simples para criar gráficos.
import matplotlib.pyplot as plt
Criando a Figura e os Eixos
Criaremos uma figura com dois subplots (eixos) usando a função subplots. Também definiremos o título da figura.
fig, axs = plt.subplots(2, 1)
fig.suptitle('Mouse Hover Over Figure or Axes to Trigger Events')
Definindo os Manipuladores de Eventos
Agora definiremos quatro funções de manipulador de eventos: on_enter_axes, on_leave_axes, on_enter_figure e on_leave_figure. Essas funções serão chamadas quando o mouse entrar ou sair de um eixo ou da figura.
def on_enter_axes(event):
print('enter_axes', event.inaxes)
event.inaxes.patch.set_facecolor('yellow')
event.canvas.draw()
def on_leave_axes(event):
print('leave_axes', event.inaxes)
event.inaxes.patch.set_facecolor('white')
event.canvas.draw()
def on_enter_figure(event):
print('enter_figure', event.canvas.figure)
event.canvas.figure.patch.set_facecolor('red')
event.canvas.draw()
def on_leave_figure(event):
print('leave_figure', event.canvas.figure)
event.canvas.figure.patch.set_facecolor('grey')
event.canvas.draw()
Conectando os Manipuladores de Eventos ao Canvas da Figura
Agora conectaremos os manipuladores de eventos ao canvas da figura usando o método mpl_connect. Isso permitirá que os manipuladores de eventos sejam acionados quando o mouse entrar ou sair da figura ou dos eixos.
fig.canvas.mpl_connect('figure_enter_event', on_enter_figure)
fig.canvas.mpl_connect('figure_leave_event', on_leave_figure)
fig.canvas.mpl_connect('axes_enter_event', on_enter_axes)
fig.canvas.mpl_connect('axes_leave_event', on_leave_axes)
Exibindo a Figura
Agora exibiremos a figura usando a função show.
plt.show()
Resumo
Neste laboratório, aprendemos como usar os eventos de entrada/saída (enter/leave events) de Figura e Eixos do Matplotlib para alterar as cores das bordas da figura e dos eixos. Criamos uma figura com dois subplots, definimos funções de manipuladores de eventos para entrar e sair da figura e dos eixos, conectamos os manipuladores de eventos ao canvas da figura e exibimos a figura.