(파이썬-Matplotlib) 시각화 튜토리얼 - 박스플롯
Page content
강의 홍보
- 취준생을 위한 강의를 제작하였습니다.
- 본 블로그를 통해서 강의를 수강하신 분은 게시글 제목과 링크를 수강하여 인프런 메시지를 통해 보내주시기를 바랍니다.
스타벅스 아이스 아메리카노를 선물
로 보내드리겠습니다.
- [비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기
박스플롯 그래프
박스플롯(Box Plot) 그래프는 범주형 데이터 기준으로 수치형 데이터의 분포를 파악하는데 적합하다.
박스플롯을 보면, 최소값, 1분위값, 중간값, 3분위값, 최대값을 제공한다.
(1) 라이브러리 불러오기
필요한 모듈을 불러온다.
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
(2) 데이터 생성
이번에는 seaborn
패키지 내 iris
데이터를 활용한다.
iris = sns.load_dataset('iris')
iris
위 데이터에서 species
변수 내 데이터를 확인해본다.
iris['species'].unique()
array(['setosa', 'versicolor', 'virginica'], dtype=object)
박스플롯으로 그래프를 구현할 때에는 위 3개의 데이터를 List
안에 담아야 한다.
data = [iris[iris['species']=="setosa"]['sepal_length'],
iris[iris['species']=="versicolor"]['sepal_length'],
iris[iris['species']=="virginica"]['sepal_length']]
(3) 그래프 구현
각각의 데이터를 기준으로 박스플롯을 작성한다. 이 때, 데이터의 평균을 표시하는 showmeans
를 추가해본다.
plt.boxplot(data, labels=['setosa', 'versicolor', 'virginica'], showmeans=True)
plt.show()
이번에는 옵션 vert=False
를 추가한다.
plt.boxplot(data, labels=['setosa', 'versicolor', 'virginica'], showmeans=True, vert = False)
plt.show()
그 외 boxplot
에 대한 다양한 옵션은 Artist customization in box plots
에서 확인한다. (참조: https://matplotlib.org/3.2.2/gallery/statistics/boxplot.html)
(4) 전체코드
전체 코드는 다음과 같다.
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
iris = sns.load_dataset('iris')
data = [iris[iris['species']=="setosa"]['sepal_length'],
iris[iris['species']=="versicolor"]['sepal_length'],
iris[iris['species']=="virginica"]['sepal_length']]
plt.boxplot(data, labels=['setosa', 'versicolor', 'virginica'], showmeans=True)
plt.show()