본문 바로가기
컴퓨터/Python

파이썬으로 박스플롯 (box plot - 상자그림) 그리기

by 날아라키위새 2021. 6. 27.
반응형

파이썬으로 박스플롯 그래프 그리기

나는 그래프 중에서 박스 플롯(box plot 혹은 상자 그림)을 즐겨 사용한다.

직관적이며 한 번에 꽤 많은 정보를 보여줄 수 있으며 데이터를 그룹별로 나눠 보여주기 용이하기 때문이다.

outlier(이상치)를 살펴보는데도 유용하다.

 

파이썬으로 박스플롯 그래프 그리는 방법

진짜 간단하다. 

 

seaborn 패키지에 들어있는 샘플 중 하나인 iris 데이터셋을 예로 들겠다.

아래처럼 iris 데이터셋을 불러들여서

import seaborn as sns

df_iris = sns.load_dataset('iris')
print(df_iris)


     sepal_length  sepal_width  petal_length  petal_width    species
0             5.1          3.5           1.4          0.2     setosa
1             4.9          3.0           1.4          0.2     setosa
2             4.7          3.2           1.3          0.2     setosa
3             4.6          3.1           1.5          0.2     setosa
4             5.0          3.6           1.4          0.2     setosa
..            ...          ...           ...          ...        ...
145           6.7          3.0           5.2          2.3  virginica
146           6.3          2.5           5.0          1.9  virginica
147           6.5          3.0           5.2          2.0  virginica
148           6.2          3.4           5.4          2.3  virginica

아래의 코드를 실행하면 된다.

간단하다. 

 

import seaborn as sns
import matplotlib.pyplot as plt


## boxplot
figure = plt.figure(figsize=(10, 8))
plt.rcParams.update({'font.size': 22})
plt.ylim(0, 10)
sns.boxplot(x="species", y="sepal_length", data=df_iris, showmeans=True,
            meanprops={"marker":"s","markerfacecolor":"black", "markeredgecolor":"black"})

 

이렇게 "species"를 그룹별로 나뉘어서 박스 플롯을 만들 수 있다. 

폰트 사이즈도 조절 할 수 있고

y축의 최소 최대값도 정할 수 있다.

또, mean값을 보여줄지 보여준다면 어떤 모양으로 보여줄지 (그림에선 검정 박스 모양) 설정할 수 있다.

더 많은 옵션은 https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.boxplot.html 를 참고하자.

파이썬으로 박스플롯 그래프 그리기

 

 

반응형

댓글