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

Beginner

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

Введение

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

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

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

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

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

Импортируем Matplotlib и AxisArtist

Сначала нам нужно импортировать Matplotlib и AxisArtist, который предоставляет дополнительные инструменты для создания пользовательских осей.

import matplotlib.pyplot as plt
import mpl_toolkits.axisartist as axisartist

Определяем функцию для настройки осей

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

def setup_axes(fig, pos):
    ax = fig.add_subplot(pos, axes_class=axisartist.Axes)
    ax.set_yticks([0.2, 0.8], labels=["short", "loooong"])
    ax.set_xticks([0.2, 0.8], labels=[r"$\frac{1}{2}\pi$", r"$\pi$"])
    return ax

Создаем фигуру и добавляем подграфики

Далее мы можем создать объект фигуры и добавить три подграфика с использованием функции setup_axes.

fig = plt.figure(figsize=(3, 5))
fig.subplots_adjust(left=0.5, hspace=0.7)

ax = setup_axes(fig, 311)
ax.set_ylabel("ha=right")
ax.set_xlabel("va=baseline")

ax = setup_axes(fig, 312)
ax.axis["left"].major_ticklabels.set_ha("center")
ax.axis["bottom"].major_ticklabels.set_va("top")
ax.set_ylabel("ha=center")
ax.set_xlabel("va=top")

ax = setup_axes(fig, 313)
ax.axis["left"].major_ticklabels.set_ha("left")
ax.axis["bottom"].major_ticklabels.set_va("bottom")
ax.set_ylabel("ha=left")
ax.set_xlabel("va=bottom")

Настраиваем выравнивание меток делений

Наконец, мы можем использовать методы set_ha и set_va для настройки горизонтального и вертикального выравнивания меток делений.

ax.axis["left"].major_ticklabels.set_ha("center")
ax.axis["bottom"].major_ticklabels.set_va("top")

Отображаем график

Для отображения графика мы можем использовать метод show.

plt.show()

Резюме

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