일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- MACS2
- PYTHON
- js
- scRNAseq analysis
- drug development
- CUT&RUN
- HTML
- Batch effect
- cellranger
- CSS
- github
- EdgeR
- 비타민 C
- CUTandRUN
- 싱글셀 분석
- pandas
- javascript
- DataFrame
- python matplotlib
- ChIPseq
- julia
- single cell
- drug muggers
- single cell rnaseq
- ngs
- scRNAseq
- Bioinformatics
- matplotlib
- Git
- single cell analysis
Archives
- Today
- Total
바이오 대표
[ matplotlib #5 ] Python matplotlib.pyplot 기본 코드 한번에 정리_5 (Subplot 그래프 여러개) 본문
Python/matplotlib
[ matplotlib #5 ] Python matplotlib.pyplot 기본 코드 한번에 정리_5 (Subplot 그래프 여러개)
바이오 대표 2022. 7. 4. 12:09
Matplotlib Subplot
정리 1, 2, 3에서 python matplotlib.pyplot 의 전반적인 설명과 plotting plt.plot( ), marker, line, label, grid 옵션에 대해서 살펴보았습니다. 이번 글에서는 해당 라이브러리로 그래프의 Subplot 즉 여러 plot 그리기에 대한 설명합니다.
- subplot plt.subplot( )
여러개의 그래프 (multiple plots) 진열하기
데이터를 표현할 때, 여러개의 그래프를 동시에 그려서 전체적인 그림을 보다 쉽게 확인 할 수 있습니다. subplot 을 이용해서 d여러개의 그래프를 한번에 보일 수 있습니다. 해당 function은 plt.plot( ) 을 그리기 전에 위치를 설정해 준다고 생각하면 됩니다.
plt.subplot( # row, # column, index(해당 그래프 위치) )
따라서 ( [1] plt.subplot( ) [2] plt.plot ) x 여러개 를 그리고 마지막에 plt.show( ) 를 이용하여 그려줍니다.
예시 )
import matplotlib.pyplot as plt
import numpy as np
#plot 1:
x = np.array([0, 1, 2, 3])
y = np.array([3, 8, 1, 10])
plt.subplot(1, 2, 1) # figure은 1 개의 row, 2 개의 cloumn로 이루어져있고 앞으로 그릴 그래프는 position 1 (왼쪽) 에 위치합니다.
plt.plot(x,y)
#plot 2:
x = np.array([0, 1, 2, 3])
y = np.array([10, 20, 30, 40])
plt.subplot(1, 2, 2) # 다음 그래프는 position 2 (오른쪽) 에 위치합니다.
plt.plot(x,y)
plt.show()
쉽게 생각해서 가로 (수평), 위아래 (수직)으로 나열 하고자 하면 다음과 같이 하면 됩니다.
- 수평으로 나열: plt.subplot(1, # graph, index)
- 수직으로 나열: plt.subplot(# graph, 1, index)
...
plt.subplot(1, 4, index)
...
...
plt.subplot(4, 1, index)
...
여러 줄로 subplot 표기하기
물론 여러 줄 (row) 의 subplot 을 표기 할 수 도 있습니다. 예를 들어 2x3 의 그래프를 그리고 싶을때의 index는 ↘ 방향으로 읽어줍니다. 즉 1 2 3
4 5 6 으로 표기합니다.
예시 )
import matplotlib.pyplot as plt
import numpy as np
#plot 1
x = np.array([0, 1, 2, 3])
y = np.array([3, 8, 1, 10])
plt.subplot(2, 3, 1)
plt.plot(x,y)
#plot 2
x = np.array([0, 1, 2, 3])
y = np.array([10, 20, 30, 40])
plt.subplot(2, 3, 2)
plt.plot(x,y)
# plot 3
x = np.array([0, 2, 5, 10])
y = np.array([3, 8, 1, 10])
plt.subplot(2, 3, 3)
plt.plot(x,y)
# plot 4
x = np.array([0, 3, 3, 3])
y = np.array([3, 3, 3, 3])
plt.subplot(2, 3, 4)
plt.plot(x,y)
# plot 5
x = np.array([0, 1, 2, 3])
y = np.array([3, 8, 1, 10])
plt.subplot(2, 3, 5)
plt.plot(x,y)
# Plot 6
x = np.array([0, 1, 2, 3])
y = np.array([10, 20, 30, 40])
plt.subplot(2, 3, 6)
plt.plot(x,y)
plt.show()