[matplotlib]여러개로 나누어서 그래프 출력(subplot)
- Python/그래프 그리기
- 2021. 5. 14.
반응형
반응형
matplotlib를 이용해 여러개의 그래프로 나오게 하겠습니다.
subplot을 이용하면 가능한데 먼저 예제를 통해 설명하겠습니다.
import matplotlib.pyplot as plt
import numpy as np
y = np.random.standard_normal((10,2))
y
2차원 데이터입니다. 2차원 데이터는 그래프가 column별로 나눠지므로 2개의 그래프가 나타나게 됩니다.
이 그래프를 한곳에 넣지 말고 각각 나눠서 넣기 위해 subplot을 사용합니다.
plt.subplot(211)
plt.plot(y[:,0],label='1column')
plt.plot(y[:,0],'ro')
plt.legend(loc=0)
plt.subplot(212)
plt.plot(y[:,1],label='2column')
plt.plot(y[:,1],'ro')
plt.legend(loc=0)
그래프를 두개로 나눠서 그렸습니다.
subplot 괄호에 있는 숫자의 의미는 다음과 같습니다.
- numrows : rows의 갯수
- numcols : columns의 갯수
- fignum : subplot의 갯수(1부터 시작해 numrows*numcols으로 끝남)
만약에 numrows=3, numcols=2, fignum=1,2...,6 이고 맨 아래의 오른쪽에 위치하고 싶다면,
plt.subplot(336)을 입력하시면 됩니다.
subplot을 사용하면 좋은게 하나로 같은 자료를 다른 그래프로 출력할 수 있습니다.
같은 자료를 가지고 다양한 그래프로 나타나게 할 수 있습니다.
plt.figure(figsize=(10,6))
plt.subplot(121)
plt.plot(y[:,0],label='1column')
plt.plot(y[:,0],'ro')
plt.legend(loc=0)
plt.subplot(122)
plt.bar(np.arange(len(y)),y[:,0],width=0.5,color='black',label='2column')
plt.legend(loc=0)
그래프 모양마다 장단점이 있기 때문에 여러 그래프로 표현하면 효율적으로 분석을 할 수 있어서
subplot을 이용하면 한눈에 볼 수 있는 장점이 있어 유용합니다.
관련포스팅
[Python/matplotlib]n차원 데이터 그리기
[Python/matplotlib] - [matplotlib]plt 라벨(label) 위치설정
'Python > 그래프 그리기' 카테고리의 다른 글
[matplotlib] 히스토그램 그리기 plt.hist() (0) | 2021.05.17 |
---|---|
[matplotlib] 산포 그래프(scatter) (0) | 2021.05.15 |
[matplotlib]n차원 데이터 그리기 (0) | 2021.05.13 |
matplotlib 그래프 영역 채우기 (0) | 2021.04.15 |
[matplotlib]plt 라벨(label) 위치설정 (0) | 2021.03.28 |