소개
이 튜토리얼은 Python Matplotlib 라이브러리를 사용하여 상자 그림 (box plot) 과 바이올린 그림 (violin plot) 을 만드는 과정을 안내합니다. 상자 그림과 바이올린 그림은 데이터의 분포를 시각화하는 데 사용됩니다.
VM 팁
VM 시작이 완료되면, 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.
학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.
라이브러리 임포트
그림을 만들기 전에 필요한 라이브러리를 임포트해야 합니다. 무작위 데이터를 생성하기 위해 numpy를 사용하고, 그림을 만들기 위해 matplotlib.pyplot을 사용합니다.
import matplotlib.pyplot as plt
import numpy as np
데이터 생성
numpy 를 사용하여 몇 가지 무작위 테스트 데이터를 생성합니다.
np.random.seed(19680801)
all_data = [np.random.normal(0, std, 100) for std in range(6, 10)]
바이올린 플롯 생성
violinplot() 메서드를 사용하여 바이올린 플롯을 생성합니다. 이 메서드는 데이터, showmeans, showmedians 등과 같은 여러 인수를 받습니다.
fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(9, 4))
axs[0].violinplot(all_data, showmeans=False, showmedians=True)
axs[0].set_title('Violin plot')
박스 플롯 생성
boxplot() 메서드를 사용하여 박스 플롯을 생성합니다. 이 메서드는 데이터, labels, showmeans, notch 등과 같은 여러 인수를 받습니다.
axs[1].boxplot(all_data)
axs[1].set_title('Box plot')
그리드 선 및 레이블 추가
수평 그리드 선을 추가하고, x-레이블과 y-레이블을 플롯에 설정합니다.
for ax in axs:
ax.yaxis.grid(True)
ax.set_xticks([y + 1 for y in range(len(all_data))], labels=['x1', 'x2', 'x3', 'x4'])
ax.set_xlabel('Four separate samples')
ax.set_ylabel('Observed values')
플롯 표시
마지막으로, show() 메서드를 사용하여 플롯을 표시합니다.
plt.show()
요약
이 튜토리얼에서는 Python Matplotlib 라이브러리를 사용하여 상자 그림 (box plot) 과 바이올린 그림 (violin plot) 을 만드는 방법을 배웠습니다. 또한 수평 그리드 선을 추가하고, x-레이블과 y-레이블을 플롯에 설정하는 방법도 배웠습니다. 상자 그림과 바이올린 그림은 데이터의 분포를 시각화하는 데 유용합니다.