본문 바로가기
Matplotlib/상자수염그림

[파이썬 그래프] 상자수염그림 + 평균,표준편차

by 만다린망고 2024. 7. 23.
반응형

상자수염그림에 평균과 표준편차 추가한 그래프입니다. 

 

import matplotlib.pyplot as plt
import numpy as np

# 데이터 생성
np.random.seed(10)
data1 = np.random.normal(100, 10, 200)
data2 = np.random.normal(90, 20, 200)

# 두 가지 데이터 세트를 리스트로 묶기
data = [data1, data2]

# 박스 플롯 그리기
plt.boxplot(data, patch_artist=True, labels=['Data 1', 'Data 2'])

# 평균과 표준편차 계산
means = [np.mean(data1), np.mean(data2)]
stds = [np.std(data1), np.std(data2)]

# 평균과 표준편차 표시 (x 위치를 약간 옆으로 조정)
x = [1.2, 2.2]  # 각 데이터 세트의 x 위치를 약간 옆으로 조정
plt.errorbar(x, means, yerr=stds, fmt='o', color='red', label='Mean ± Std Dev')

# 평균 값을 텍스트로 표시 (x 위치를 약간 옆으로 조정)
for i, (mean, std) in enumerate(zip(means, stds), start=1):
    plt.text(i + 0.2, mean + std + 1, f'Mean: {mean:.2f}\nStd: {std:.2f}', 
             ha='center', va='bottom', color='red')

# 제목과 라벨 설정
plt.title('Box Plot of Two Data Sets with Mean and Standard Deviation')
plt.xlabel('Data Set')
plt.ylabel('Value')


# 플롯 표시
plt.show()

 

반응형

댓글