파이썬으로 오차 막대 (Error Bar) 가 있는 3D 플롯 만들기

Beginner

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

소개

이 튜토리얼에서는 Python 의 Matplotlib 라이브러리를 사용하여 오차 막대 (error bar) 가 있는 3D 플롯을 만드는 방법을 배웁니다. 오차 막대는 데이터의 변동성을 그래픽으로 표현한 것으로, 측정값 또는 통계적 추정의 불확실성을 나타내기 위해 과학 및 공학 분야에서 자주 사용됩니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화할 수 없습니다.

학습 중에 문제가 발생하면 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 즉시 해결해 드리겠습니다.

라이브러리 가져오기

먼저, Matplotlib 과 NumPy 와 같은 필요한 라이브러리를 가져와야 합니다. NumPy 는 배열과 행렬을 지원하는 수치 계산 라이브러리이고, Matplotlib 은 데이터 시각화 라이브러리입니다.

import matplotlib.pyplot as plt
import numpy as np

3D 플롯 생성

다음으로, figure 객체의 add_subplot 메서드를 사용하여 3D 플롯을 생성합니다. projection 매개변수를 '3d'로 설정하여 3D 플롯을 원한다는 것을 지정합니다.

ax = plt.figure().add_subplot(projection='3d')

플롯을 위한 데이터 생성

매개변수 곡선을 생성하여 플롯에 대한 데이터를 생성합니다. 매개변수 곡선은 x, y, z 좌표를 매개변수의 함수로 설명하는 일련의 방정식입니다. NumPy 의 arange 함수를 사용하여 0 에서 2π까지의 값 배열을 생성합니다. 그런 다음 이러한 값을 사용하여 삼각 함수를 사용하여 x, y, z 좌표를 계산합니다.

t = np.arange(0, 2*np.pi+.1, 0.01)
x, y, z = np.sin(t), np.cos(3*t), np.sin(5*t)

플롯에 오차 막대 추가

Axes3D 객체의 errorbar 메서드를 사용하여 플롯에 오차 막대를 추가합니다. zuplimszlolims 매개변수를 상한 및 하한을 갖는 데이터 포인트를 지정하는 배열로 설정합니다. errorevery 매개변수를 설정하여 오차 막대의 빈도를 제어합니다.

estep = 15
i = np.arange(t.size)
zuplims = (i % estep == 0) & (i // estep % 3 == 0)
zlolims = (i % estep == 0) & (i // estep % 3 == 2)

ax.errorbar(x, y, z, 0.2, zuplims=zuplims, zlolims=zlolims, errorevery=estep)

플롯 사용자 정의

set_xlabel, set_ylabel, 및 set_zlabel 메서드를 사용하여 x, y, z 축에 레이블을 추가하여 플롯을 사용자 정의할 수 있습니다.

ax.set_xlabel("X label")
ax.set_ylabel("Y label")
ax.set_zlabel("Z label")

플롯 표시

마지막으로, show 메서드를 사용하여 플롯을 표시합니다.

plt.show()

요약

이 튜토리얼에서는 Matplotlib 를 사용하여 오차 막대 (error bar) 가 있는 3D 플롯을 만드는 방법을 배웠습니다. NumPy 를 사용하여 플롯에 대한 데이터를 생성하고 errorbar 메서드를 사용하여 오차 막대를 추가했습니다. 또한 x, y, z 축에 레이블을 추가하여 플롯을 사용자 정의했습니다.