Введение
Этот практикум проведет вас по процессу создания графиков с заголовками, подзаголовками и глобальными подписями с использованием библиотеки Matplotlib в Python. Вы научитесь создавать различные виды графиков колебаний и добавлять глобальную подпись по оси x или y к графику.
Советы по работе с ВМ
После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и приступить к практике в Jupyter Notebook.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Создайте график затухающей и не затухающей колебания
Во - первых, мы создадим фигуру с двумя подграфиками: один для затухающей колебания, а другой для не затухающей колебания. Мы будем использовать функцию np.linspace() для создания массива значений времени, а затем построить соответствующие значения амплитуды для каждого типа колебания с использованием функций np.cos() и np.exp().
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.0, 5.0, 501)
fig, (ax1, ax2) = plt.subplots(1, 2, layout='constrained', sharey=True)
ax1.plot(x, np.cos(6*x) * np.exp(-x))
ax1.set_title('затухающая')
ax1.set_xlabel('время (с)')
ax1.set_ylabel('амплитуда')
ax2.plot(x, np.cos(6*x))
ax2.set_xlabel('время (с)')
ax2.set_title('не затухающая')
fig.suptitle('Различные типы колебаний', fontsize=16)
plt.show()
Добавьте глобальные подписи по осям x и y к графику
Далее мы добавим глобальные подписи по осям x и y к графику, показывающему относительные цены акций различных компаний в течение времени. Мы будем использовать функцию np.genfromtxt() для чтения CSV-файла, содержащего данные о ценах на акции, и затем построить данные для каждой компании с использованием подграфиков. Мы будем использовать методы fig.supxlabel() и fig.supylabel() для добавления глобальных подписей по осям x и y к графику.
from matplotlib.cbook import get_sample_data
with get_sample_data('Stocks.csv') as file:
stocks = np.genfromtxt(
file, delimiter=',', names=True, dtype=None,
converters={0: lambda x: np.datetime64(x, 'D')}, skip_header=1)
fig, axs = plt.subplots(4, 2, figsize=(9, 5), layout='constrained',
sharex=True, sharey=True)
for nn, ax in enumerate(axs.flat):
column_name = stocks.dtype.names[1+nn]
y = stocks[column_name]
line, = ax.plot(stocks['Date'], y / np.nanmax(y), lw=2.5)
ax.set_title(column_name, fontsize='small', loc='left')
fig.supxlabel('Год')
fig.supylabel('Цена акции относительно максимума')
plt.show()
Резюме
В этом практикуме вы узнали, как создавать графики с заголовками и подзаголовками с использованием библиотеки Matplotlib в Python. Также вы узнали, как добавлять глобальные подписи по осям x и y к графику. Эти навыки полезны для создания ясных и информативных визуализаций данных.