본문 바로가기
Matplotlib/공통

[파이썬 matplotlib] 한 화면에 그래프 여러개 그리기 (add_subplot 이용)

by 만다린망고 2020. 11. 24.
반응형

[파이썬 matplotlib] 

한 화면에 그래프 여러개 그리기 (add_subplot 이용)


한 화면에 그래프를 여러개 그래는 방법은 아래의 네가지 방법이 있습니다. 


1) subplot2grid

2) subplots 

3) subplot

4) add_subplot 


이번 글에서는 add_subplot 을 이용하는 방법을 알아봅시다. 아래 그래프를 통해 사용방법을 이해해봅시다. subplot과 원리가 같습니다.


import numpy as np

import matplotlib.pyplot as plt


X = np.linspace(0,100,20)

Y1 = X

Y2 = X**2

Y3 = np.sin(X)


fig=plt.figure()


ax1 = fig.add_subplot(211)

ax1.plot(X,Y2)


ax2 = fig.add_subplot(212)

ax2.plot(X,Y3)


plt.show()



plt.subplot 의 입력값은 행의수, 열의수, index 순입니다. 좀 헷갈릴 수 있는데 잘 이해해봅시다. 먼저 subplot(211)은 일단 행이 2개라 2줄자리 프레임이 생겼습니다. 열이 1이므로 위 아래 한칸씩만 있습니다. 그 중 윗칸을 의미합니다. subplot(212)는 마찬가지로 행이 2개 열이 1개라 위 아래 한칸 씩 있고 그 중 아랫칸을 의미합니다. 이해한 것 같지만 아닐겁니다. 아래 코드를 봅시다.


import numpy as np

import matplotlib.pyplot as plt


X = np.linspace(0,100,20)

Y1 = X

Y2 = X**2

Y3 = np.sin(X)


fig=plt.figure()


ax1 = fig.add_subplot(211)

ax1.plot(X,Y2)


ax2 = fig.add_subplot(224)

ax2.plot(X,Y3)


plt.show()




그래프가 왜 저렇게 그려지는지 이해가 되시나요? 먼저 subplot(211)을 봅시다 행을 둘로 나눴고, 열은 하나이므로 위아래 두칸, 그중 윗칸이라는 의미입니다. 여기까지는 이해가 됩니다. subplot(224)는 행을 둘로, 열을 둘로 나눠서 총 4칸입니다. 그 중 4번재 칸이므로 우측하단 칸이 됩니다. 같은 화면이 다시 4칸으로 나눠진것이라 이해하시면 됩니다. 


반응형

댓글