Подвыборка погрешностных полос с использованием Matplotlib

Beginner

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

Введение

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

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

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

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

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

Импорт библиотек и генерация данных

Во - первых, нам нужно импортировать необходимые библиотеки и сгенерировать некоторые примерные данные для работы. В этом примере мы будем использовать numpy для генерации данных и matplotlib для их визуализации.

import matplotlib.pyplot as plt
import numpy as np

## example data
x = np.arange(0.1, 4, 0.1)
y1 = np.exp(-1.0 * x)
y2 = np.exp(-0.5 * x)

## example variable error bar values
y1err = 0.1 + 0.1 * np.sqrt(x)
y2err = 0.1 + 0.1 * np.sqrt(x/2)

Построение всех погрешностных полос

Далее мы построим все погрешностные полосы с использованием функции errorbar без какой - либо выборочной подвыборки. Это будет нашим базовым графиком.

fig, ax = plt.subplots()

ax.set_title('All Errorbars')
ax.errorbar(x, y1, yerr=y1err, label='y1')
ax.errorbar(x, y2, yerr=y2err, label='y2')

ax.legend()
plt.show()

Выборочная подвыборка каждой 6 - ой погрешностной полосы

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

fig, ax = plt.subplots()

ax.set_title('Every 6th Errorbar')
ax.errorbar(x, y1, yerr=y1err, errorevery=6, label='y1')
ax.errorbar(x, y2, yerr=y2err, errorevery=6, label='y2')

ax.legend()
plt.show()

Сдвинуть вторую серию на 3

В некоторых случаях мы можем хотеть применить выборочную подвыборку погрешностных полос к разным частям наших данных. Мы можем сделать это, указав кортеж для параметра errorevery. Например, давайте применим выборочную подвыборку погрешностных полос к второй серии, но сдвинуть ее на 3 точки данных.

fig, ax = plt.subplots()

ax.set_title('Second Series Shifted by 3')
ax.errorbar(x, y1, yerr=y1err, label='y1')
ax.errorbar(x, y2, yerr=y2err, errorevery=(3, 6), label='y2')

ax.legend()
plt.show()

Резюме

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