Anotando Gráficos Matplotlib com Sistemas de Coordenadas

Beginner

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

Introdução

Matplotlib é uma ferramenta de visualização poderosa que permite aos usuários criar uma ampla variedade de gráficos e diagramas. Anotações são um recurso importante do Matplotlib que permite aos usuários adicionar texto e setas aos seus gráficos. Neste tutorial, aprenderemos como usar diferentes sistemas de coordenadas para anotações.

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 Bibliotecas

O primeiro passo é importar as bibliotecas necessárias. Usaremos a biblioteca matplotlib.pyplot para criar nosso gráfico e anotações.

import matplotlib.pyplot as plt
import numpy as np

Criar Dados

Em seguida, criaremos alguns dados para plotar. Usaremos a biblioteca numpy para criar uma onda senoidal.

x = np.arange(0, 10, 0.005)
y = np.exp(-x/2.) * np.sin(2*np.pi*x)

Criar o Gráfico

Agora, criaremos o gráfico usando a biblioteca matplotlib.pyplot. Definiremos os limites x e y do gráfico e, em seguida, plotaremos os dados.

fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_xlim(0, 10)
ax.set_ylim(-1, 1)

Transformar Coordenadas

O próximo passo é transformar as coordenadas dos dados e da exibição. Usaremos o método ax.transData para transformar as coordenadas dos dados e o sistema de coordenadas figure pixels para transformar as coordenadas da exibição.

xdata, ydata = 5, 0
xdisplay, ydisplay = ax.transData.transform((xdata, ydata))

Adicionar Anotações

O passo final é adicionar anotações ao gráfico. Usaremos o método ax.annotate para adicionar texto e setas ao gráfico. Também usaremos os parâmetros bbox e arrowprops para estilizar as anotações.

bbox = dict(boxstyle="round", fc="0.8")
arrowprops = dict(
    arrowstyle="->",
    connectionstyle="angle,angleA=0,angleB=90,rad=10")

offset = 72
ax.annotate(
    f'data = ({xdata:.1f}, {ydata:.1f})',
    (xdata, ydata),
    xytext=(-2*offset, offset), textcoords='offset points',
    bbox=bbox, arrowprops=arrowprops)
ax.annotate(
    f'display = ({xdisplay:.1f}, {ydisplay:.1f})',
    xy=(xdisplay, ydisplay), xycoords='figure pixels',
    xytext=(0.5*offset, -offset), textcoords='offset points',
    bbox=bbox, arrowprops=arrowprops)

Mostrar o Gráfico

O passo final é mostrar o gráfico usando o método plt.show().

plt.show()

Resumo

Neste tutorial, aprendemos como usar diferentes sistemas de coordenadas para anotações em Matplotlib. Criamos um gráfico, transformamos as coordenadas de dados e de exibição, e adicionamos anotações ao gráfico usando o método ax.annotate. As anotações são um recurso importante do Matplotlib que permite aos usuários adicionar contexto e informações aos seus gráficos.