Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib에서 축(Axes) 객체를 활용해 활성 서브플롯 설정하기

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()를 통해 어떤 축 객체가 활성화되는지에 따라 그리기 대상이 달라지는 것을 확인할 수 있습니다.

Matplotlib에서 축(Axes) 객체를 활용해 활성 서브플롯 설정하기