Introdução
Neste laboratório, você aprenderá como usar regras de recorrência no Matplotlib para posicionar marcas de data. O iCalendar RFC_ especifica regras de recorrência (rrules), que definem sequências de datas. Você pode usar rrules no Matplotlib para posicionar marcas de data. Este exemplo define marcas de data personalizadas em cada 5ª Páscoa.
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
Primeiro, você precisa importar as bibliotecas necessárias, incluindo Matplotlib, NumPy e datetime.
import datetime
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.dates import (YEARLY, DateFormatter, RRuleLocator, drange,
rrulewrapper)
Definir a semente aleatória
Você gerará dados aleatórios para este exemplo, portanto, precisa definir a semente aleatória para reprodutibilidade.
np.random.seed(19680801)
Definir a regra de recorrência
Você definirá marcas de data personalizadas a cada 5ª Páscoa. Para fazer isso, você precisa definir a regra de recorrência usando a função rrulewrapper.
rule = rrulewrapper(YEARLY, byeaster=1, interval=5)
Definir o localizador e formatador de marcas
Você usará a função RRuleLocator para definir o localizador de marcas com base na regra de recorrência que você definiu na etapa anterior. Você também usará a função DateFormatter para definir o formatador de marcas.
loc = RRuleLocator(rule)
formatter = DateFormatter('%m/%d/%y')
Definir as datas e gerar dados aleatórios
Você precisa definir as datas de início e fim e o delta, que representa a diferença entre cada data. Você também precisa gerar dados aleatórios para o exemplo.
date1 = datetime.date(1952, 1, 1)
date2 = datetime.date(2004, 4, 12)
delta = datetime.timedelta(days=100)
dates = drange(date1, date2, delta)
s = np.random.rand(len(dates))
Plotar os dados e definir as marcas do eixo x
Finalmente, você pode plotar os dados usando a função plot e definir as marcas do eixo x usando as funções de localizador e formatador de marcas que você definiu anteriormente.
fig, ax = plt.subplots()
plt.plot(dates, s, 'o')
ax.xaxis.set_major_locator(loc)
ax.xaxis.set_major_formatter(formatter)
ax.xaxis.set_tick_params(rotation=30, labelsize=10)
plt.show()
Resumo
Neste laboratório, você aprendeu como usar regras de recorrência no Matplotlib para colocar marcas de data personalizadas em um gráfico. Você primeiro definiu a regra de recorrência usando a função rrulewrapper e, em seguida, usou as funções RRuleLocator e DateFormatter para definir o localizador e o formatador de marcas. Finalmente, você plotou os dados e definiu as marcas do eixo x usando as funções de localizador e formatador de marcas.