Визуализации Matplotlib для анализа данных

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

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

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

Введение

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

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

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

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

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

Импорт Matplotlib

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

import matplotlib.pyplot as plt
import numpy as np

Создание примерных данных

Создадим некоторые примерные данные, которые мы будем использовать для создания визуализаций. Мы сгенерируем четыре группы данных, каждая из которых содержит 11 пар данных x,y.

x = [10, 8, 13, 9, 11, 14, 6, 4, 12, 7, 5]
y1 = [8.04, 6.95, 7.58, 8.81, 8.33, 9.96, 7.24, 4.26, 10.84, 4.82, 5.68]
y2 = [9.14, 8.14, 8.74, 8.77, 9.26, 8.10, 6.13, 3.10, 9.13, 7.26, 4.74]
y3 = [7.46, 6.77, 12.74, 7.11, 7.81, 8.84, 6.08, 5.39, 8.15, 6.42, 5.73]
x4 = [8, 8, 8, 8, 8, 8, 8, 19, 8, 8, 8]
y4 = [6.58, 5.76, 7.71, 8.84, 8.47, 7.04, 5.25, 12.50, 5.56, 7.91, 6.89]

Создание фигуры с подграфиками

Теперь мы создадим фигуру с четырьмя подграфиками, по одному для каждой группы данных. Мы также установим одинаковые пределы по осям x и y для всех подграфиков.

fig, axs = plt.subplots(2, 2, sharex=True, sharey=True, figsize=(6, 6),
                        gridspec_kw={'wspace': 0.08, 'hspace': 0.08})
axs[0, 0].set(xlim=(0, 20), ylim=(2, 14))
axs[0, 0].set(xticks=(0, 10, 20), yticks=(4, 8, 12))

Построение графика данных

Для каждого подграфика мы построим точки данных x и y и добавим линию линейной регрессии. Также добавим текстовое поле с некоторыми статистическими данными о наборе данных.

datasets = {
    'I': (x, y1),
    'II': (x, y2),
    'III': (x, y3),
    'IV': (x4, y4)
}

for ax, (label, (x, y)) in zip(axs.flat, datasets.items()):
    ax.text(0.1, 0.9, label, fontsize=20, transform=ax.transAxes, va='top')
    ax.tick_params(direction='in', top=True, right=True)
    ax.plot(x, y, 'o')

    ## линейная регрессия
    p1, p0 = np.polyfit(x, y, deg=1)  ## наклон, пересечение с осью y
    ax.axline(xy1=(0, p0), slope=p1, color='r', lw=2)

    ## добавить текстовое поле для статистики
    stats = (f'$\\mu$ = {np.mean(y):.2f}\n'
             f'$\\sigma$ = {np.std(y):.2f}\n'
             f'$r$ = {np.corrcoef(x, y)[0][1]:.2f}')
    bbox = dict(boxstyle='round', fc='blanchedalmond', ec='orange', alpha=0.5)
    ax.text(0.95, 0.07, stats, fontsize=9, bbox=bbox,
            transform=ax.transAxes, horizontalalignment='right')

plt.show()

Интерпретация результатов

Результирующая визуализация представляет собой набор из четырех подграфиков, каждый из которых показывает различную группу данных. Пределы по осям x и y одинаковы для всех подграфиков. Каждый подграфик содержит точки данных x и y, а также линию линейной регрессии. Текстовое поле в нижнем правом углу каждого подграфика показывает некоторые статистические данные о наборе данных, включая среднее значение, стандартное отклонение и коэффициент корреляции.

Обзор

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