본문으로 건너뛰기
실습하기

여러 서브플롯과 그림

지금까지는 하나의 Figure에 하나의 그래프만 그렸습니다.

하지만 여러 데이터를 한 화면에서 비교하거나 각각 다른 그림으로 표현해야 하는 경우가 있습니다.

이때는 subplotsfigure를 활용하면 됩니다.


서브플롯: 한 Figure 안에 여러 그래프 배치하기

plt.subplot(rows, cols, index)를 사용하면 하나의 Figure를 격자 형태로 나누어 여러 그래프를 배치할 수 있습니다.

간단한 서브플롯 예시
import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y1 = [2, 4, 1, 3]
y2 = [3, 1, 5, 2]

plt.subplot(1, 2, 1) # 1행 2열 중 첫 번째 그래프
plt.plot(x, y1)
plt.title("그래프 A")

plt.subplot(1, 2, 2) # 1행 2열 중 두 번째 그래프
plt.plot(x, y2)
plt.title("그래프 B")

plt.tight_layout()
plt.show()
  • rows: 서브플롯의 행 개수
  • cols: 서브플롯의 열 개수
  • index: 그래프를 배치할 위치 (왼쪽에서 오른쪽, 위에서 아래 순서)

여러 Figure 관리하기

서브플롯 대신 서로 다른 Figure를 만들 수도 있습니다.

이 경우 각 Figure는 완전히 독립적으로 관리됩니다.

서로 다른 두 개의 그림 만들기
plt.figure(1)
plt.plot([1, 2, 3], [4, 5, 6])
plt.title("그림 1")

plt.figure(2)
plt.plot([1, 2, 3], [6, 5, 4])
plt.title("그림 2")

plt.show()

서로 관련 없는 데이터를 그릴 때나, 시각화를 서로 다른 페이지나 파일로 나눠 관리할 때 유용합니다.


언제 어떤 방법을 사용할까?

  • 같은 Figure에서 데이터를 나란히 비교할 때 → 서브플롯 사용
  • 맥락이 완전히 다른 시각화를 만들 때 → 여러 Figure 사용

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!