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

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

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

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

Введение

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

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

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlotCustomizationGroup(["Plot Customization"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/BasicConceptsGroup -.-> python/comments("Comments") matplotlib/PlottingDataGroup -.-> matplotlib/error_bars("Error Bars") python/DataStructuresGroup -.-> python/tuples("Tuples") matplotlib/PlotCustomizationGroup -.-> matplotlib/legend_config("Legend Configuration") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48715{{"Подвыборка погрешностных полос с использованием Matplotlib"}} matplotlib/figures_axes -.-> lab-48715{{"Подвыборка погрешностных полос с использованием Matplotlib"}} python/comments -.-> lab-48715{{"Подвыборка погрешностных полос с использованием Matplotlib"}} matplotlib/error_bars -.-> lab-48715{{"Подвыборка погрешностных полос с использованием Matplotlib"}} python/tuples -.-> lab-48715{{"Подвыборка погрешностных полос с использованием Matplotlib"}} matplotlib/legend_config -.-> lab-48715{{"Подвыборка погрешностных полос с использованием Matplotlib"}} python/importing_modules -.-> lab-48715{{"Подвыборка погрешностных полос с использованием Matplotlib"}} python/numerical_computing -.-> lab-48715{{"Подвыборка погрешностных полос с использованием Matplotlib"}} python/data_visualization -.-> lab-48715{{"Подвыборка погрешностных полос с использованием Matplotlib"}} end

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

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