여러 서브플롯과 그림
지금까지는 하나의 Figure에 하나의 그래프만 그렸습니다.
하지만 여러 데이터를 한 화면에서 비교하거나 각각 다른 그림으로 표현해야 하는 경우가 있습니다.
이때는 subplots
와 figure
를 활용하면 됩니다.
서브플롯: 한 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 강의를 등록해 주세요!