Criar Cursor de Dados com Matplotlib

Beginner

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

Introdução

Neste laboratório, aprenderemos como criar um cursor de dados, incluindo uma caixa de texto, que mostra o ponto do gráfico mais próximo do ponteiro do mouse usando Matplotlib, uma biblioteca de plotagem para a linguagem de programação Python.

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ê.

Importar as bibliotecas necessárias

Começamos importando as bibliotecas Matplotlib e NumPy. NumPy é o pacote fundamental para computação científica em Python, enquanto Matplotlib é uma biblioteca de plotagem que produz figuras com qualidade de publicação.

import matplotlib.pyplot as plt
import numpy as np

Criar um gráfico

Criamos um gráfico simples de uma parábola usando a função linspace do NumPy para gerar 1000 valores entre -5 e 5 para x, e então calculamos y como o quadrado de x.

fig, ax = plt.subplots(figsize=(8, 6))
ax.set_title("Cursor Tracking x Position")

x = np.linspace(-5, 5, 1000)
y = x**2

line, = ax.plot(x, y)
ax.set_xlim(-5, 5)
ax.set_ylim(0, 25)

Criar a classe AnnotatedCursor

Criamos uma nova classe AnnotatedCursor que herda de matplotlib.widgets.Cursor e demonstra a criação de novos widgets e seus retornos de chamada de eventos (event callbacks). A classe AnnotatedCursor é usada para criar um cursor em forma de cruz com um texto mostrando as coordenadas atuais.

class AnnotatedCursor(Cursor):
    """
    A crosshair cursor like `~matplotlib.widgets.Cursor` with a text showing \
    the current coordinates.
    ...
    """

Inicializar o objeto AnnotatedCursor

Inicializamos o objeto AnnotatedCursor passando a linha do gráfico, line, para o construtor AnnotatedCursor.

cursor = AnnotatedCursor(line=line, ax=ax, useblit=True)

Exibir o gráfico

Exibimos o gráfico usando o método show() do módulo pyplot do Matplotlib.

plt.show()

Resumo

Neste laboratório, aprendemos como criar um cursor de dados, incluindo uma caixa de texto, que mostra o ponto do gráfico próximo ao ponteiro do mouse usando Matplotlib. Criamos um gráfico simples de uma parábola, em seguida, criamos um objeto AnnotatedCursor e exibimos o gráfico.