Создание пользовательского форматирования индикатора цен в Matplotlib

Beginner

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

Введение

В этом практическом занятии вы научитесь создавать пользовательский индикатор цен (ticker) в Python Matplotlib с использованием модуля ticker. Пользовательский индикатор цен будет форматировать деления по оси y в миллионах долларов.

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

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

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

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

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

Сначала нам нужно импортировать необходимые библиотеки для создания пользовательского индикатора цен. Нам нужны модули pyplot и ticker из Matplotlib.

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

Определяем функцию пользовательского индикатора цен

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

def millions(x, pos):
    """The two arguments are the value and tick position."""
    return f'${x*1e-6:1.1f}M'

Создаем график

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

## Create a bar chart with sample data
fig, ax = plt.subplots()
money = [1.5e5, 2.5e6, 5.5e6, 2.0e7]
ax.bar(['Bill', 'Fred', 'Mary', 'Sue'], money)

## Set the y-axis ticker to use the custom ticker function
ax.yaxis.set_major_formatter(ticker.FuncFormatter(millions))

## Display the plot
plt.show()

Интерпретируем результат

Результатом работы кода должен быть столбчатый график с метками по оси y, отформатированными в миллионах долларов. Метки делений будут отформатированы соответственно как $0,2M, $2,5M, $5,5M и $20,0M.

Резюме

В этом практическом занятии вы узнали, как создавать пользовательский индикатор цен в Python Matplotlib с использованием модуля ticker. Также вы узнали, как форматировать метки делений в миллионах долларов с помощью пользовательской функции индикатора цен. Эта техника может быть полезной при работе с большими финансовыми наборами данных.