Введение
В этом руководстве показано, как использовать библиотеку 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 видимой. Наконец, мы построили наши данные и показали график.