Создание графиков с использованием Matplotlib в Python

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

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

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

Введение

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