Matplotlib에서 활성 서브플롯의 축(axes) 객체를 설정하려면 subplots() 메서드를 사용해 축을 서브플롯 형태로 배치하면 됩니다. 이 방법을 활용하면 여러 개의 그래프를 하나의 figure 안에 손쉽게 배치하고, 원하는 축 객체를 현재 활성 축으로 지정할 수 있습니다.
구현 단계
figure 크기를 설정하고, 서브플롯 사이와 주변의 여백(padding)을 조정합니다.
데이터 포인트로 사용할 x, y 리스트를 생성합니다.
subplots() 메서드를 사용해 1행 2열 구조의 figure와 서브플롯 집합을 만듭니다.
0번 인덱스의 축 객체를 현재 figure에 추가하고, 해당 축을 현재 활성 축(current axes)으로 지정합니다.
plot() 메서드로 x, y 데이터 포인트를 그립니다.
1번 인덱스의 축 객체를 현재 figure에 추가하고, 이번에는 해당 축을 현재 활성 축으로 지정합니다.
다시 plot() 메서드로 데이터 포인트를 그립니다.
그림을 화면에 표시하려면 show() 메서드를 사용합니다.
예제 코드
import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True x = [1, 2, 4, 2, 1] y = [1, 4, 0, 4, 1] fig, axs = plt.subplots(1, 2) plt.axes(axs[0]) plt.plot(x, y) plt.axes(axs[1]) plt.plot(y, x) plt.show()
실행 결과
위 코드를 실행하면 하나의 figure에 두 개의 서브플롯이 나란히 표시됩니다. 왼쪽 서브플롯에는 x 대 y 값이, 오른쪽 서브플롯에는 y 대 x 값이 각각 그려지며, plt.axes()를 통해 어떤 축 객체가 활성화되는지에 따라 그리기 대상이 달라지는 것을 확인할 수 있습니다.
