Matplotlib 를 이용한 오차 막대 서브샘플링

Beginner

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

소개

데이터 시각화에서 데이터의 불확실성 또는 변동성을 나타내기 위해 오차 막대 (error bar) 를 그리는 것이 유용할 때가 있습니다. 하지만 유사한 오차를 가진 데이터 포인트가 많으면 플롯이 복잡해지고 해석하기 어려워질 수 있습니다. 이러한 경우, 오차 막대 서브샘플링 (errorbar subsampling) 을 사용하여 데이터 포인트의 하위 집합에만 오차 막대를 그릴 수 있습니다. 이 튜토리얼에서는 Matplotlib 의 errorbar 함수를 사용하여 오차 막대 서브샘플링을 데이터에 적용하는 방법을 시연합니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단을 클릭하여 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 번째 오차 막대마다 플롯하기 위해 오차 막대 서브샘플링을 적용해 보겠습니다. errorbar 함수의 errorevery 매개변수를 사용하여 이를 수행할 수 있습니다.

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()

요약

이 튜토리얼에서는 Matplotlib 의 errorbar 함수를 사용하여 데이터에 오차 막대 서브샘플링을 적용하는 방법을 배웠습니다. errorevery 매개변수를 사용하면 데이터 포인트의 하위 집합에만 오차 막대를 선택적으로 플롯할 수 있으며, 이를 통해 플롯을 더 읽기 쉽고 해석 가능하게 만들 수 있습니다.