Настройка меток дат в Matplotlib с использованием правил повторения

PythonPythonBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии вы научитесь использовать правила повторения в Matplotlib для размещения меток дат. iCalender RFC_ определяет правила повторения (rrules), которые определяют последовательности дат. Вы можете использовать rrules в Matplotlib для размещения меток дат. В этом примере задаются пользовательские метки дат для каждого пятого Пасхи.

Советы по работе с ВМ

После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Проверка операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами при обучении, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импортируем необходимые библиотеки

Сначала вам нужно импортировать необходимые библиотеки, в том числе Matplotlib, NumPy и datetime.

import datetime
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.dates import (YEARLY, DateFormatter, RRuleLocator, drange,
                              rrulewrapper)

Задаем случайный сид

В этом примере вы будете генерировать случайные данные, поэтому вам нужно задать случайный сид для воспроизводимости.

np.random.seed(19680801)

Задаем правило повторения

Вы будете настраивать пользовательские метки дат для каждого пятого Пасхи. Для этого вам нужно задать правило повторения с использованием функции rrulewrapper.

rule = rrulewrapper(YEARLY, byeaster=1, interval=5)

Задаем локатор и форматтер меток

Вы будете использовать функцию RRuleLocator для настройки локатора меток на основе правила повторения, заданного на предыдущем шаге. Также вы будете использовать функцию DateFormatter для настройки форматтера меток.

loc = RRuleLocator(rule)
formatter = DateFormatter('%m/%d/%y')

Задаем даты и генерируем случайные данные

Необходимо задать начальную и конечную даты и дельту, которая представляет разницу между каждой датой. Также необходимо сгенерировать случайные данные для примера.

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))

Строим график данных и настраиваем метки оси x

Наконец, вы можете построить график данных с использованием функции plot и настроить метки оси x с использованием функций локатора и форматтера меток, которые вы настроили ранее.

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()

Резюме

В этом практическом занятии вы узнали, как использовать правила повторения в Matplotlib для размещения пользовательских меток дат на графике. Сначала вы задали правило повторения с использованием функции rrulewrapper, а затем использовали функции RRuleLocator и DateFormatter для настройки локатора и форматтера меток. Наконец, вы построили график данных и настроили метки оси x с использованием функций локатора и форматтера меток.