Создание линейного графика с двумя осями

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

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

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

Введение

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

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

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

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

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

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

Начнем с импорта необходимых библиотек. Для создания графика нам понадобится matplotlib.pyplot, а для создания двойных осей — mpl_toolkits.axes_grid1.

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import host_subplot

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

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

host = host_subplot(111)
par = host.twinx()

Назначение меток

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

host.set_xlabel("Distance")
host.set_ylabel("Density")
par.set_ylabel("Temperature")
plt.title("Density and Temperature vs Distance")

Добавление данных

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

p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density")
p2, = par.plot([0, 1, 2], [0, 3, 2], label="Temperature")

Форматирование графика

Мы отформатируем график, установив легенду, цвета меток и цвета линий.

host.legend()
host.yaxis.get_label().set_color(p1.get_color())
par.yaxis.get_label().set_color(p2.get_color())

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

Наконец, мы отобразим график с использованием функции show.

plt.show()

Резюме

В этом практическом занятии мы узнали, как создавать линейный график с двумя осями с использованием библиотеки Matplotlib в Python. Мы использовали функции host_subplot и twinx для создания двух осях и добавили данные с использованием функции plot. Мы отформатировали график, установив легенду, цвета меток и цвета линий. Результрующий график позволяет сравнивать две связанные переменные, имеющие разные единицы измерения.