일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- drug development
- javascript
- single cell rnaseq
- MACS2
- 비타민 C
- python matplotlib
- scRNAseq
- single cell
- ChIPseq
- CUTandRUN
- Git
- js
- ngs
- 싱글셀 분석
- github
- matplotlib
- scRNAseq analysis
- Batch effect
- pandas
- CUT&RUN
- CSS
- cellranger
- EdgeR
- drug muggers
- HTML
- Bioinformatics
- single cell analysis
- julia
- PYTHON
- DataFrame
- 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)
...