Как изменить размер шрифта в графике Matplotlib

В этом руководстве вы узнаете, как изменить размер шрифта на графике Matplotlib. Вы узнаете всё, что вам нужно знать, чтобы настроить ваш график Matplotlib так, чтобы размер шрифта был именно таким, как вы хотите. Визуализация данных - это невероятный инструмент для более эффективной коммуникации ваших данных. Возможность стилизовать ваш график так, как вам нравится, является важной частью этого.

К концу этого урока вы узнаете:

  • Как изменить размеры шрифта глобально в Matplotlib

  • Как изменить размеры шрифта заголовков, меток осей и галочек

  • Измените размеры шрифта с помощью параметров rc

  • Сброс размеров шрифта обратно к значениям по умолчанию в Matplotlib

Оглавление

Загрузка образца графика

Чтобы следовать за этим учебником, я предоставил ниже некоторый код для загрузки образца графика. Пожалуйста, не стесняйтесь использовать свой собственный график, хотя ваш код, конечно, будет немного отличаться. Приведенный ниже график будет включать много шаблонного кода для добавления нескольких текстовых элементов, которыми мы можем более легко манипулировать:

# Загрузка примера графика в Matplotlib
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(12, 8))

x = range(1, 11)
y = [i ** 2 for i in x]
z = [i ** 3 for i in x]

# Построение двух линий
ax.plot(x, y, color='green', label='y= x^2')
ax.plot(x, z, color='blue', label='y = x^3')
ax.set_title('Несколько линий', fontsize=18)  # Заголовок графика
ax.set_xlabel('Время', fontsize=14)  # Подпись оси x
ax.set_ylabel('Значения', fontsize=14)  # Подпись оси y
leg = ax.legend()  # Добавление легенды

plt.show()

На графике выше у нас есть следующие текстовые элементы, для которых можно изменить размер шрифта:

  • Заголовок

  • ось X и ось Y

  • Отметьте метки

  • Легенда

Изменение размеров шрифта в Matplotlib с использованием Fontsize

В каждой функции Matplotlib, связанной с шрифтами, например, в тех, что мы использовали выше, есть параметр с именем fontsize=, который позволяет контролировать размер шрифта. Это означает, что когда мы устанавливаем, скажем, заголовок с помощью функции .set_title(), мы можем передать аргумент для указания размера шрифта.

Давайте посмотрим, как мы можем использовать это, используя шаблонный код, который мы использовали выше:

# Изменение размера шрифта в Matplotlib с помощью fontsize=
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(12, 8))

x = range(1, 11)
y = [i ** 2 for i in x]
z = [i ** 3 for i in x]

# Построение двух линий
ax.plot(x, y, color='green', label='y= x^2')
ax.plot(x, z, color='blue', label='y = x^3')
ax.set_title('Несколько линий', fontsize=18)  # Заголовок графика
ax.set_xlabel('Время', fontsize=14)  # Подпись оси x
ax.set_ylabel('Значения', fontsize=14)  # Подпись оси y
leg = ax.legend(fontsize=12)  # Добавление легенды

plt.show()

Если вам нужно создать несколько графиков, этот метод может оказаться довольно времязатратным. В таких случаях может быть полезно использовать rcParams для изменения размеров шрифтов для всех графиков в текущей программе. Об этом вы узнаете в следующем разделе.

Использование параметров rc для изменения размеров шрифта в Matplotlib

Использование rcParams является полезным способом изменять атрибуты библиотеки Matplotlib для данной программы на Python. Это может быть полезно, когда вы создаете несколько графиков и хотите, чтобы все они были оформлены одинаково.

Matplotlib поставляется с огромным количеством параметров rc (rcParams), к которым вы можете получить доступ, используя функцию plt.rcParams.keys(). Эта функция возвращает все ключи, которые вы можете модифицировать.

В приведенном ниже коде мы модифицируем несколько разных размеров шрифтов, принадлежащих разным частям нашей визуализации данных:

# Изменение размера шрифта с помощью rcParams
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(12, 8))

x = range(1, 11)
y = [i ** 2 for i in x]
z = [i ** 3 for i in x]

# Управление размером шрифта для различных элементов с помощью rcParams
plt.rc('axes', titlesize=10)        # Управление заголовком осей
plt.rc('axes', labelsize=10)        # Управление подписями осей
plt.rc('xtick', labelsize=10)       # Управление подписями делений по оси x
plt.rc('ytick', labelsize=10)       # Управление подписями делений по оси y
plt.rc('legend', fontsize=16)       # Управление шрифтом легенды
plt.rc('figure', titlesize=10)      # Управление заголовком рисунка

ax.plot(x, y, color='green', label='y= x^2')
ax.plot(x, z, color='blue', label='y = x^3')
ax.set_title('Несколько линий', fontsize=18)  # Заголовок графика
ax.set_xlabel('Время', fontsize=14)  # Подпись оси x
ax.set_ylabel('Значения', fontsize=14)  # Подпись оси y
leg = ax.legend()

plt.show()

Сброс размеров шрифта по умолчанию в Matplotlib

Если вы изменили параметры rcParams и хотите вернуть их к настройкам Matplotlib по умолчанию, это может быть полезно, если вы перезаписали важный параметр или просто хотите вернуться к стандартным настройкам.

Matplotlib предлагает удобную функцию для упрощения этой задачи. Если вам нужно сбросить настройки rcParams Matplotlib до их значений по умолчанию, просто выполните приведенный ниже код:

# Сброс настроек rcParams в Matplotlib
plt.rcParams.update(plt.rcParamsDefault)

Заключение

В этом учебном пособии вы научились использовать Matplotlib для изменения размеров шрифтов в ваших визуализациях. Это может быть полезно для создания более привлекательных визуализаций для ваших графиков. Сначала вы узнали, как изменить размер шрифта с помощью параметра fontsize=, который доступен во всех функциях Matplotlib, генерирующих текстовый вывод. Затем вы научились изменять размеры шрифтов глобально для нескольких графиков, используя rcParams. Наконец, вы научились сбрасывать rcParams до их значений по умолчанию.

Дополнительные ресурсы

Чтобы узнать больше о схожих темах, ознакомьтесь с нижеприведенными руководствами:

Last updated