Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib에서 가변 길이 데이터로 박스플롯(Boxplot) 그리는 방법

데이터 분석에서 각 그룹의 데이터 개수가 서로 다른 경우, 즉 가변 길이(variable length) 데이터를 다룰 때가 많습니다. Matplotlib의 boxplot() 함수는 리스트 안에 길이가 다른 여러 리스트를 넣어도 문제없이 처리할 수 있어, 이런 상황에서 매우 유용합니다.

아래 단계를 따라 하면 가변 길이 데이터로 박스플롯을 손쉽게 그릴 수 있습니다.

구현 단계

  • 그림(figure) 크기를 설정하고, 서브플롯 주변과 사이의 여백(padding)을 조정합니다.
  • 각각 길이가 다른 데이터 포인트들의 리스트를 준비합니다.
  • boxplot() 메서드를 사용해 박스앤위스커(box-and-whisker) 플롯을 생성합니다.
  • show() 메서드를 호출해 그림을 화면에 표시합니다.

예제 코드

from matplotlib import pyplot as plt

# 그림 크기 및 레이아웃 자동 조정 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 길이가 서로 다른 세 그룹의 데이터
data = [[2, 4, 1, 3], [0, 4, 3, 2], [0, 0, 1, 0]]

# 박스플롯 생성
plt.boxplot(data)

# 그림 출력
plt.show()

실행 결과

위 코드를 실행하면 세 개의 데이터 그룹이 각각 하나의 박스로 표현된 박스플롯이 출력됩니다. 각 박스는 해당 그룹 데이터의 사분위수 범위(IQR)와 중앙값(median)을 나타내며, 위스커(whisker)는 데이터의 분포 범위를 보여줍니다.

이처럼 Matplotlib은 각 그룹의 데이터 개수가 달라도 자동으로 이를 인식하여 박스플롯을 그려주므로, 별도의 전처리 없이 바로 시각화할 수 있다는 장점이 있습니다.