Выравнивание меток по оси y в графиках Matplotlib

Beginner

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

Введение

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

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

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

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

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

Импортировать необходимые библиотеки

Первым шагом является импорт необходимых библиотек. В этом практическом занятии мы будем использовать Matplotlib и NumPy.

import matplotlib.pyplot as plt
import numpy as np

Создать график

Следующим шагом является создание графика. Мы создадим график с двумя вложенными графиками, где метки по оси y не выровнены.

def make_plot(axs):
    box = dict(facecolor='yellow', pad=5, alpha=0.2)

    ## Fixing random state for reproducibility
    np.random.seed(19680801)
    ax1 = axs[0, 0]
    ax1.plot(2000*np.random.rand(10))
    ax1.set_title('ylabels not aligned')
    ax1.set_ylabel('misaligned 1', bbox=box)
    ax1.set_ylim(0, 2000)

    ax3 = axs[1, 0]
    ax3.set_ylabel('misaligned 2', bbox=box)
    ax3.plot(np.random.rand(10))

    ax2 = axs[0, 1]
    ax2.set_title('ylabels aligned')
    ax2.plot(2000*np.random.rand(10))
    ax2.set_ylabel('aligned 1', bbox=box)
    ax2.set_ylim(0, 2000)

    ax4 = axs[1, 1]
    ax4.plot(np.random.rand(10))
    ax4.set_ylabel('aligned 2', bbox=box)

fig, axs = plt.subplots(2, 2)
fig.subplots_adjust(left=0.2, wspace=0.6)
make_plot(axs)
plt.show()

Автоматически выровнять метки по оси y

Третий шаг - автоматически выровнять метки по оси y с использованием метода .Figure.align_ylabels.

fig, axs = plt.subplots(2, 2)
fig.subplots_adjust(left=0.2, wspace=0.6)
make_plot(axs)
fig.align_ylabels(axs[:, 1])
plt.show()

Ручное выравнивание меток по оси y

Четвёртый шаг - ручное выравнивание меток по оси y с использованием метода ~.Axis.set_label_coords объекта оси y.

fig, axs = plt.subplots(2, 2)
fig.subplots_adjust(left=0.2, wspace=0.6)
make_plot(axs)

labex = -0.3  ## координаты осей

for j in range(2):
    axs[j, 1].yaxis.set_label_coords(labex, 0.5)

plt.show()

Резюме

В этом практическом занятии вы узнали, как выравнивать метки по оси y в графиках Matplotlib. Выравнивание меток по оси y важно для улучшения читаемости графиков, особенно когда есть несколько вложенных графиков. Мы рассмотрели два метода выравнивания меток по оси y: один - с использованием короткого вызова .Figure.align_ylabels, а второй - ручной способ выравнивания меток.

Заключение

Поздравляем! Вы узнали, как выравнивать метки по оси y в графиках Matplotlib. Продолжайте практиковаться и изучать библиотеку Matplotlib, чтобы улучшить свои навыки визуализации.

Резюме

Поздравляем! Вы завершили практическое занятие по выравниванию меток по оси y. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.