일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- drug development
- matplotlib
- github
- 비타민 C
- CSS
- ngs
- cellranger
- CUT&RUN
- single cell analysis
- EdgeR
- julia
- Git
- js
- HTML
- Bioinformatics
- single cell rnaseq
- scRNAseq analysis
- 싱글셀 분석
- DataFrame
- ChIPseq
- CUTandRUN
- pandas
- scRNAseq
- Batch effect
- PYTHON
- MACS2
- drug muggers
- javascript
- single cell
- python matplotlib
- Today
- Total
바이오 대표
[ matplotlib #11 ] Python matplotlib.pyplot 기본 코드 한번에 정리_11 (Box plot 박스 플롯) 본문
[ matplotlib #11 ] Python matplotlib.pyplot 기본 코드 한번에 정리_11 (Box plot 박스 플롯)
바이오 대표 2022. 7. 11. 23:24
Matplotlib Box plot 박스 플롯
정리 1~ 10 에서 python matplotlib.pyplot 의 전반적인 설명과 plotting plt.plot( ), marker, line, label, grid, subplot, scatter, bars plot, pie chart, heatmap 에 대해서 살펴보았습니다. 이번 글에서는 해당 라이브러리로 Box plot 박스플롯 에 대한 설명합니다.
- box plot plt.boxplot( )
- argument
- notched notch = True
- whis 조절 whis = number
- 수평 박스 vert = False
Box plot 박스 플롯 그리기
Box plot (박스 플롯)은 Box-whisker plot 이라고도 불리며, 수치 데이터를 표현합니다. 해당 그래프를 통해 데이터의 최솟값, 제1 사분위 수 (Q1), 제 2 사분위 수 (Q2), 제 3 사분위 수 (Q3) 그리고 최대값을 표현합니다. outlier도 표시할 수 있기에, statistical 분석을 위해 데이터를 확인 하는 단계에서 많이 사용합니다.
plt.boxplot( array or a sequence of vectors)
먼저 box plot 을 그리기에 앞서 그래프가 무엇을 visualize 하는지 알아보겠습니다. 해당 그래프는 Q1 ~ Q3를 직사각형으로, 그 외의 값은 수염 (Whisker)로 표햔합니다. default로 계산을 벗어나면 outlier도 표시합니다.

예시) plt.boxplot( ) 의 설정들을 default 로 하면 다음과 같은 그래프를 보입니다.
import matplotlib.pyplot as plt
import numpy as np
data_a = np.random.normal(0, 2.0, 1000) # 평균이 0이고, 표준편차가(sd) 가 2.0인 1000의 배열
data_b = np.random.normal(-3.0, 1.5, 500)
data_c = np.random.normal(1.2, 1.5, 1500)
plt.boxplot([data_a, data_b, data_c])
plt.show()

Notched
plt.boxplot() 의 argument notch ( 흠이 있는) = True로 설정하면 Q1-Q3 이 직사각형이 아닌 notched 형태로 모양을 바꿀 수 있습니다. 이때 흠이 파여있는 곳은 median (중앙값) 의 95% 신뢰 구간 즉, 95% confidence interval (CI)을 나타냅니다.
...
plt.boxplot([data_a, data_b, data_c], notch=True)
...

Whis
whis 는 upper bound 와 lower bound 를 설정해 줄 때 사용합니다. default 값은 1.5이고, 이 값을 크게 한다는 뜻은 더 큰 이상치 (outlier)를 수염 (whisker) 안에 포함한다는 뜻입니다. whis = number 을 통해 값을 설정할 수 있습니다.
* upper bound의 계산법은 Q3 + whis *(Q3 - Q1), lower bound 의 계산법은 Q1 - whis *(Q3 - Q1) 입니다.
...
plt.boxplot([data_a, data_b, data_c], notch=True, whis = 2.5)
...

수평 그래프 그리기
box plot 은 수평으로도 나타낼 수 있습니다. vert = False argument 을 이용하면 됩니다.
...
plt.boxplot([data_a, data_b, data_c], notch=True, vert = False)
...
