Python 으로 맞춤형 상자 그림 만들기

Beginner

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

소개

상자 그림 (Boxplot) 은 "최소값", 제 1 사분위수 (Q1), 중앙값, 제 3 사분위수 (Q3), "최대값"으로 구성된 다섯 숫자 요약 (five-number summary) 을 기반으로 데이터의 분포를 표시하는 데 사용되는 그래프 유형입니다. 데이터 분석에서 이상치 (outlier) 를 식별하고 시각화하며, 서로 다른 데이터 그룹의 분포를 비교하는 데 일반적으로 사용됩니다. 이 랩에서는 Matplotlib 라이브러리를 사용하여 Python 에서 상자 그림을 생성하고 사용자 정의하는 방법을 배우게 됩니다.

VM 팁

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

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

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

필요한 라이브러리 가져오기

상자 그림을 만들기 전에 NumPy 와 Matplotlib 을 포함한 필요한 라이브러리를 가져와야 합니다.

import matplotlib.pyplot as plt
import numpy as np

데이터 생성

다음으로, 상자 그림에 사용할 샘플 데이터를 생성합니다. 이 튜토리얼에서는 다음 데이터를 사용합니다.

spread = np.random.rand(50) * 100
center = np.ones(25) * 50
flier_high = np.random.rand(10) * 100 + 100
flier_low = np.random.rand(10) * -100
data = np.concatenate((spread, center, flier_high, flier_low))

기본 상자 그림 생성

Matplotlib 의 boxplot() 함수를 사용하여 기본 상자 그림을 생성할 수 있습니다. boxplot() 함수는 데이터를 첫 번째 인수로 사용하고, 플롯을 사용자 정의하기 위한 다른 선택적 매개변수를 사용합니다. 다음은 기본 상자 그림을 생성하는 코드입니다.

plt.boxplot(data)
plt.show()

상자 그림 사용자 정의

상자, 수염 (whiskers), 이상치 (outliers) 의 모양을 변경하여 상자 그림을 사용자 정의할 수 있습니다. 또한, 동일한 플롯에 여러 상자 그림을 생성하여 서로 다른 데이터 그룹을 비교할 수 있습니다. 다음은 상자 그림을 사용자 정의하는 몇 가지 예입니다.

## 노치 (notched) 상자 그림 생성
plt.boxplot(data, notch=True)
plt.show()

## 이상치 점 기호를 녹색 다이아몬드로 변경
plt.boxplot(data, flierprops=dict(marker='D', markerfacecolor='g', markersize=8))
plt.show()

## 수평 상자 그림 생성
plt.boxplot(data, vert=False)
plt.show()

## 하나의 플롯에 여러 상자 그림 생성
data1 = np.random.normal(0, 1, 50)
data2 = np.random.normal(1, 1, 50)
data3 = np.random.normal(2, 1, 50)

plt.boxplot([data1, data2, data3])
plt.show()

레이블 및 제목 추가

마지막으로, 상자 그림에 레이블과 제목을 추가하여 더 많은 정보를 제공할 수 있습니다. x 축과 y 축에 레이블을 추가하고, 플롯에 제목을 추가할 수 있습니다. 또한 레이블과 제목의 글꼴 크기와 스타일을 변경할 수 있습니다. 다음은 레이블과 제목을 추가하는 예입니다.

plt.boxplot([data1, data2, data3])
plt.xlabel('Group')
plt.ylabel('Value')
plt.title('Comparison of Three Groups')
plt.xticks([1, 2, 3], ['Group 1', 'Group 2', 'Group 3'])
plt.show()

요약

이 랩에서는 Matplotlib 라이브러리를 사용하여 Python 에서 상자 그림을 생성하고 사용자 정의하는 방법을 배웠습니다. 샘플 데이터를 생성하고, 기본 상자 그림을 만들고, 상자 그림의 모양을 사용자 정의하고, 플롯에 레이블과 제목을 추가하는 방법을 배웠습니다. 상자 그림은 데이터의 분포를 시각화하고 비교하는 강력한 도구이며, 이를 생성하고 사용자 정의하는 방법을 아는 것은 데이터 분석가와 과학자에게 중요한 기술입니다.