Сustom Spines с использованием Axisartist

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

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

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

Введение

В этом руководстве показано, как использовать библиотеку Matplotlib для создания пользовательских спин (ребер) в определенных позициях.

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

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

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

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

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

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

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits import axisartist

Создание фигуры и подграфиков

Мы создадим фигуру с двумя подграфиками с использованием метода add_gridspec.

fig = plt.figure(figsize=(6, 3), layout="constrained")
gs = fig.add_gridspec(1, 2)

Создание первого подграфика

В первом подграфике мы создадим новую ось, которая проходит через y = 0, используя axisartist.Axes. Также сделаем другие ребра (spines) невидимыми.

ax0 = fig.add_subplot(gs[0, 0], axes_class=axisartist.Axes)
ax0.axis["y=0"] = ax0.new_floating_axis(nth_coord=0, value=0, axis_direction="bottom")
ax0.axis["y=0"].toggle(all=True)
ax0.axis["y=0"].label.set_text("y = 0")
ax0.axis["bottom", "top", "right"].set_visible(False)

Создание второго подграфика

Во втором подграфике мы будем использовать axisartist.axislines.AxesZero для автоматического создания осей xzero и yzero. Мы сделаем другие ребра (spines) невидимыми и установим ось xzero видимой.

ax1 = fig.add_subplot(gs[0, 1], axes_class=axisartist.axislines.AxesZero)
ax1.axis["xzero"].set_visible(True)
ax1.axis["xzero"].label.set_text("Axis Zero")
ax1.axis["bottom", "top", "right"].set_visible(False)

Построение графика данных

Теперь, когда мы создали наши подграфики, мы можем построить наши данные, используя np.sin(x).

x = np.arange(0, 2*np.pi, 0.01)
ax0.plot(x, np.sin(x))
ax1.plot(x, np.sin(x))

Показать график

Наконец, мы можем показать наш график с использованием plt.show().

plt.show()

Резюме

В этом уроке мы узнали, как создавать пользовательские ребра (spines) в определенных позициях с использованием библиотеки Matplotlib. Мы создали фигуру с двумя подграфиками и использовали axisartist.Axes и axisartist.axislines.AxesZero для создания наших ребер. Также мы сделали другие ребра невидимыми и установили ось xzero видимой. Наконец, мы построили наши данные и показали график.