Настройка направления осей в Matplotlib

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

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

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

Введение

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

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

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

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

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

Импорт библиотек

Прежде чем мы начнем, нам нужно импортировать необходимые библиотеки. В этом практическом занятии мы будем использовать matplotlib.pyplot и mpl_toolkits.axisartist.

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

Создайте функцию для настройки осей

Мы создадим функцию под названием setup_axes, чтобы настроить оси для наших графиков. Эта функция принимает два параметра: объект fig и объект pos. Объект fig - это объект фигуры, на которой мы будем рисовать, а объект pos - это позиция подграфика внутри фигуры.

def setup_axes(fig, pos):
    ax = fig.add_subplot(pos, axes_class=axisartist.Axes)

    ax.set_ylim(-0.1, 1.5)
    ax.set_yticks([0, 1])

    ax.axis[:].set_visible(False)

    ax.axis["x"] = ax.new_floating_axis(1, 0.5)
    ax.axis["x"].set_axisline_style("->", size=1.5)

    return ax

Настройка направления оси

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

plt.rcParams.update({
    "axes.titlesize": "medium",
    "axes.titley": 1.1,
})

fig = plt.figure(figsize=(10, 4))
fig.subplots_adjust(bottom=0.1, top=0.9, left=0.05, right=0.95)

ax1 = setup_axes(fig, 251)
ax1.axis["x"].set_axis_direction("left")

ax2 = setup_axes(fig, 252)
ax2.axis["x"].label.set_text("Label")
ax2.axis["x"].toggle(ticklabels=False)
ax2.axis["x"].set_axislabel_direction("+")
ax2.set_title("label direction=$+$")

ax3 = setup_axes(fig, 253)
ax3.axis["x"].label.set_text("Label")
ax3.axis["x"].toggle(ticklabels=False)
ax3.axis["x"].set_axislabel_direction("-")
ax3.set_title("label direction=$-$")

ax4 = setup_axes(fig, 254)
ax4.axis["x"].set_ticklabel_direction("+")
ax4.set_title("ticklabel direction=$+$")

ax5 = setup_axes(fig, 255)
ax5.axis["x"].set_ticklabel_direction("-")
ax5.set_title("ticklabel direction=$-$")

ax7 = setup_axes(fig, 257)
ax7.axis["x"].label.set_text("rotation=10")
ax7.axis["x"].label.set_rotation(10)
ax7.axis["x"].toggle(ticklabels=False)

ax8 = setup_axes(fig, 258)
ax8.axis["x"].set_axislabel_direction("-")
ax8.axis["x"].label.set_text("rotation=10")
ax8.axis["x"].label.set_rotation(10)
ax8.axis["x"].toggle(ticklabels=False)

plt.show()

Интерпретация результатов

Код создаст фигуру с пятью подграфиками, демонстрирующими разные направления осей. Ниже приведено краткое описание подграфиков:

  1. Подграфик 1: Направление оси установлено влево.
  2. Подграфик 2: Направление подписи оси установлено в положительном направлении.
  3. Подграфик 3: Направление подписи оси установлено в отрицательном направлении.
  4. Подграфик 4: Направление подписей делений установлено в положительном направлении.
  5. Подграфик 5: Направление подписей делений установлено в отрицательном направлении.

Обзор

В этом практическом занятии мы узнали, как настраивать направление оси в Matplotlib с использованием модуля mpl_toolkits.axisartist. Мы создали функцию для настройки осей для наших графиков и продемонстрировали разные направления осей с использованием нескольких подграфиков. Это полезный инструмент для настройки графиков и диаграмм в Matplotlib.