Introdução
Este laboratório irá guiá-lo sobre como definir um cursor alternativo em uma tela de figura usando Matplotlib. O cursor alternativo pode ser qualquer um dos cursores disponíveis nas ferramentas de backend do Matplotlib.
Dicas da 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ê.
Importar as bibliotecas necessárias
Primeiro, precisamos importar as bibliotecas necessárias. Usaremos matplotlib.pyplot e matplotlib.backend_tools.
import matplotlib.pyplot as plt
from matplotlib.backend_tools import Cursors
Criar uma figura e definir cursores alternativos
Em seguida, criamos uma figura e definimos os cursores alternativos para cada subplot usando um loop. Também adicionamos texto a cada subplot para indicar o cursor que está sendo usado.
fig, axs = plt.subplots(len(Cursors), figsize=(6, len(Cursors) + 0.5), gridspec_kw={'hspace': 0})
fig.suptitle('Passe o mouse sobre um Axes para ver os Cursors alternativos')
for cursor, ax in zip(Cursors, axs):
ax.cursor_to_use = cursor
ax.text(0.5, 0.5, cursor.name,
horizontalalignment='center', verticalalignment='center')
ax.set(xticks=[], yticks=[])
Definir o cursor ao passar o mouse
Precisamos definir o cursor para o cursor alternativo quando o usuário passa o mouse sobre um subplot. Conseguimos isso usando o evento motion_notify_event e a função set_cursor().
def hover(event):
if fig.canvas.widgetlock.locked():
## Don't do anything if the zoom/pan tools have been enabled.
return
fig.canvas.set_cursor(
event.inaxes.cursor_to_use if event.inaxes else Cursors.POINTER)
fig.canvas.mpl_connect('motion_notify_event', hover)
Exibir a figura
Finalmente, exibimos a figura usando a função show().
plt.show()
Resumo
Neste laboratório, aprendemos como definir um cursor alternativo em uma tela de figura usando Matplotlib. Criamos uma figura e definimos os cursores alternativos para cada subplot e, em seguida, definimos o cursor para o cursor alternativo quando o usuário passa o mouse sobre um subplot. Em seguida, exibimos a figura.