matplotlib에서 Figure와 Axes라는 용어가 난무하는데, Figure는 큰 프레임이고요, Axes는 그 안에 그림을 그릴 수 있는 공간입니다. 그러니까 Figure는 스케치북이고요, Axes는 각 종이입니다.
그러니까 처음에 그림을 그리려면, 스케치북과 종이를 준비해야겠죠. Figure와 Axes를 준비하는 방법은~!
fig, ax = plt.subplots(행렬)
이렇게 준비하면 됩니다. 쉽죠. 여기에서 subplot에서 행렬 형태의 axes를 만들어 낼 수가 있습니다. 이걸 만들어 낸 후에는 ax에 각 ax는 왼쪽 위부터 차례대로 index로 접근하면 됩니다. 그래서 그림을 그릴 때는 ax[i].plot()의 형태로 그리면 됩니다. 후후. 조금 재미있는 방법은
fig, (ax1, ax2) = plt.subplots(2, 1)
이렇게 한꺼번에 axes를 tuple로 받을 수도 있습니다. 먼저 figure를 만들고 거기에 axes를 추가할 수도 있습니다.
fig = plt.figure()
ax1 = fig.add_subplot(2, 1, 1)
ax2 = fig.add_subplot(2, 1, 2)
plot.show()
add_subplot으로 추가하면서 2, 1, 1은 2행, 1열, 첫번째 ax입니다. 간단하쥬?
이게 figure와 axes라는 용어가 맞긴 맞는데 헷갈리긴 헷갈리니까, 한번쯤은 이렇게 정리하면 좋겠다는 생각이 들었습니다
matplotlib의 공식 페이지에 보면, 나머지 그림을 위한 용어들을 Anatomy라는 이름의 그림으로 그려놓았습니다. 그것도 보면 좋을 것 같네요. 주소는 Anatomy of a figure — Matplotlib 3.8.2 documentation
https://matplotlib.org/stable/gallery/showcase/anatomy.html
이니까 참고해 주세요.
댓글