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

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

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

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

Введение

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

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

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

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

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

Импортируем Matplotlib и настраиваем параметр pgf.texsystem

Сначала вам нужно импортировать библиотеку Matplotlib и установить параметр pgf.texsystem на pdflatex. Этот параметр позволяет использовать LaTeX для настройки семейства шрифтов в вашем графике.

import matplotlib.pyplot as plt

plt.rcParams.update({
    "pgf.texsystem": "pdflatex",
})

Определяем семейство шрифтов

Далее вам нужно определить семейство шрифтов, которое вы хотите использовать в своем графике. В этом примере мы будем использовать семейство шрифтов cmbright.

plt.rcParams.update({
    "pgf.texsystem": "pdflatex",
    "pgf.preamble": "\n".join([
         r"\usepackage[utf8x]{inputenc}",
         r"\usepackage[T1]{fontenc}",
         r"\usepackage{cmbright}",
    ]),
})

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

Теперь вы можете создать свой график с использованием функции plt.subplots(). В этом примере мы создадим простой линейный график.

fig, ax = plt.subplots(figsize=(4.5, 2.5))

ax.plot(range(5))

Добавляем текст на график

Вы можете добавить текст на свой график с использованием функции ax.text(). В этом примере мы добавим текст с разными семействами шрифтов.

ax.text(0.5, 3., "serif", family="serif")
ax.text(0.5, 2., "monospace", family="monospace")
ax.text(2.5, 2., "sans-serif", family="sans-serif")
ax.set_xlabel(r"µ is not $\mu$")

Настраиваем макет и сохраняем график

Наконец, вы можете настроить макет своего графика и сохранить его в файл с использованием функций fig.tight_layout() и fig.savefig() соответственно.

fig.tight_layout(pad=.5)

fig.savefig("pgf_texsystem.pdf")
fig.savefig("pgf_texsystem.png")

Резюме

В этом практическом занятии вы узнали, как создавать график с пользовательскими шрифтами с использованием библиотеки Python Matplotlib. Вы использовали параметр pgf.texsystem для настройки семейства шрифтов в вашем графике и функцию ax.text(), чтобы добавить текст с разными семействами шрифтов. Вы также узнали, как настроить макет вашего графика и сохранить его в файл.