Визуализация данных с использованием Matplotlib в Python

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

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

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

Введение

В этом лабораторном задании мы будем использовать библиотеку Matplotlib для Python, чтобы вычислить среднее значение (mu) и стандартное отклонение (sigma) для 100 наборов данных и построить график mu против sigma. Мы также добавим интерактивность к графику, чтобы при нажатии на одну из точек (mu, sigma) были построены исходные данные из набора данных, который сгенерировал эту точку.

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

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

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

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

Генерация случайных данных

Во - первых, нам нужно сгенерировать 100 случайных наборов данных, каждый из которых содержит 1000 случайных чисел в диапазоне от 0 до 1. Мы будем использовать модуль random библиотеки numpy для генерации случайных данных.

import numpy as np

np.random.seed(19680801)

X = np.random.rand(100, 1000)

Вычисление среднего значения и стандартного отклонения

Далее мы вычислим среднее значение и стандартное отклонение для каждого из 100 наборов данных. Мы будем использовать функции mean и std библиотеки numpy для вычисления этих значений.

xs = np.mean(X, axis=1)
ys = np.std(X, axis=1)

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

Теперь мы построим график mu против sigma с использованием модуля pyplot библиотеки Matplotlib. Мы создадим точечный график с использованием вычисленных значений для mu и sigma. Также мы добавим интерактивность к графику, установив параметр picker в значение True.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.set_title('click on point to plot time series')
line, = ax.plot(xs, ys, 'o', picker=True, pickradius=5)

Добавление интерактивности

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

def onpick(event):

    if event.artist!= line:
        return

    N = len(event.ind)
    if not N:
        return

    figi, axs = plt.subplots(N, squeeze=False)
    for ax, dataind in zip(axs.flat, event.ind):
        ax.plot(X[dataind])
        ax.text(.05,.9, f'mu={xs[dataind]:1.3f}\nsigma={ys[dataind]:1.3f}',
                transform=ax.transAxes, va='top')
        ax.set_ylim(-0.5, 1.5)
    figi.show()


fig.canvas.mpl_connect('pick_event', onpick)

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

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

plt.show()

Резюме

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