Введение
В этом руководстве вы узнаете, как создать простую диаграмму с использованием Matplotlib, библиотеки Python для визуализации данных. Мы будем использовать модуль host_subplot для создания диаграммы с двумя осями y.
Советы по работе с ВМ
После запуска ВМ нажмите в верхнем левом углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортируем необходимые модули
Первым шагом является импорт необходимых модулей для нашей диаграммы. Мы будем использовать numpy для генерации наших данных по осям x и y, matplotlib.pyplot для создания диаграммы и mpl_toolkits.axes_grid1 для создания второй оси y.
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1 import host_subplot
Генерируем данные
Далее нам нужно сгенерировать данные по осям x и y. Для примера мы будем генерировать синусоидальную волну.
xx = np.arange(0, 2*np.pi, 0.01)
yy = np.sin(xx)
Создаем диаграмму
Теперь мы можем создать нашу диаграмму с использованием функции host_subplot. Эта функция создает подграфик с двумя осями y.
ax = host_subplot(111)
ax.plot(xx, yy)
Создаем вторую ось y
Для создания второй оси y нам нужно создать новый объект оси с использованием функции twin.
ax2 = ax.twin()
Задаем метки делений для второй оси y
Мы можем задать метки делений для второй оси y с использованием функции set_xticks и передав в качестве аргументов позиции делений и метки.
ax2.set_xticks([0.,.5*np.pi, np.pi, 1.5*np.pi, 2*np.pi],
labels=["$0$", r"$\frac{1}{2}\pi$",
r"$\pi$", r"$\frac{3}{2}\pi$", r"$2\pi$"])
Скрываем метки делений для правой оси y
Мы можем скрыть метки делений для правой оси y с использованием функции major_ticklabels.set_visible.
ax2.axis["right"].major_ticklabels.set_visible(False)
Показываем метки делений для верхней оси y
Мы можем показать метки делений для верхней оси y с использованием той же функции major_ticklabels.set_visible.
ax2.axis["top"].major_ticklabels.set_visible(True)
Отображаем график
Наконец, мы можем отобразить наш график с использованием функции show.
plt.show()
Резюме
В этом уроке мы узнали, как создать простой график с двумя осями y с использованием Matplotlib. Мы использовали модуль host_subplot для создания графика и модуль mpl_toolkits.axes_grid1 для создания второй оси y. Мы сгенерировали наши данные с использованием numpy и отобразили график с использованием matplotlib.pyplot.