Exibição Simultânea de Cursor em Matplotlib

Beginner

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

Introdução

Este tutorial mostrará como usar a função matplotlib.widgets.MultiCursor para exibir um cursor em múltiplos gráficos simultaneamente.

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 Bibliotecas

O primeiro passo é importar as bibliotecas necessárias, que são matplotlib.pyplot e numpy.

import matplotlib.pyplot as plt
import numpy as np

Criando Dados

Em seguida, criaremos alguns dados para nossos gráficos. Neste exemplo, criaremos três ondas senoidais com diferentes frequências.

t = np.arange(0.0, 2.0, 0.01)
s1 = np.sin(2*np.pi*t)
s2 = np.sin(3*np.pi*t)
s3 = np.sin(4*np.pi*t)

Criando Gráficos

Agora, criaremos três subgráficos usando a função plt.subplots. Dois gráficos serão criados em uma figura, enquanto o terceiro gráfico será criado em uma figura separada.

fig, (ax1, ax2) = plt.subplots(2, sharex=True)
ax1.plot(t, s1)
ax2.plot(t, s2)
fig, ax3 = plt.subplots()
ax3.plot(t, s3)

Adicionando MultiCursor

Finalmente, adicionaremos a função MultiCursor para exibir um cursor em todos os três gráficos ao passar o mouse sobre um ponto de dados.

multi = MultiCursor(None, (ax1, ax2, ax3), color='r', lw=1)
plt.show()

Resumo

Neste tutorial, aprendemos como usar a função matplotlib.widgets.MultiCursor para exibir um cursor em múltiplos gráficos simultaneamente. Criamos três ondas senoidais com diferentes frequências, criamos três subgráficos e adicionamos a função MultiCursor para exibir um cursor em todos os três gráficos.