본문 바로가기
Python/matplotlib

파이썬 matplotlib.figure.Figure.add_subplot 함수 활용하기

by PySun 2024. 11. 4.
반응형

Matplotlib : Figure.add_subplot 함수로 여러 개의 서브플롯 만들기

데이터 시각화를 재미있게 만들어주는 파이썬의 Matplotlib 라이브러리. 이 강력한 시각화 도구를 통해 멋진 그래프를 만들 수 있습니다. 그중에서도 Figure.add_subplot 함수는 여러 개의 서브플롯을 손쉽게 추가할 수 있는 방법을 제공합니다. 이번 포스팅에서는 이 함수를 사용하여 다양한 데이터를 동시에 시각화하는 방법을 알아보겠습니다.

add_subplot 함수 소개

Figure.add_subplot 함수는 지정된 위치에 서브플롯을 추가하여 다중 플롯 영역을 생성합니다. 이를 통해 데이터의 다양한 측면을 한 번에 시각적으로 비교할 수 있습니다. 예를 들어 시간에 따른 온도 변화와 습도를 동시에 보여줄 수 있습니다!

함수 시그니처

Figure.add_subplot(nrows, ncols, index)

매개변수:

  • nrows: 서브플롯의 행 수입니다.
  • ncols: 서브플롯의 열 수입니다.
  • index: 추가할 서브플롯의 위치입니다 (1부터 시작합니다).

반환 값:

  • 생성된 서브플롯을 나타내는 Axes 객체를 반환합니다.

사용 예제

기본 예제

다음은 add_subplot 함수를 사용하여 두 개의 서브플롯을 만드는 기본 예제입니다.

import matplotlib.pyplot as plt
import numpy as np

# 데이터 생성
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# 새로운 그림 생성
fig = plt.figure(figsize=(10, 5))

# 서브플롯 추가
ax1 = fig.add_subplot(1, 2, 1)  # 1행 2열의 첫 번째 서브플롯
ax1.plot(x, y1, color='blue')
ax1.set_title('Sine Wave')
ax1.set_xlabel('x')
ax1.set_ylabel('sin(x)')

ax2 = fig.add_subplot(1, 2, 2)  # 1행 2열의 두 번째 서브플롯
ax2.plot(x, y2, color='red')
ax2.set_title('Cosine Wave')
ax2.set_xlabel('x')
ax2.set_ylabel('cos(x)')

plt.tight_layout()
plt.show()

다양한 서브플롯 예제

3x1 배열을 사용해 여러 개의 서브플롯을 만드는 예제를 보겠습니다.

import matplotlib.pyplot as plt
import numpy as np

# 데이터 생성
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)

# 새로운 그림 생성
fig = plt.figure(figsize=(8, 12))

# 서브플롯 추가 1
ax1 = fig.add_subplot(3, 1, 1)
ax1.plot(x, y1, color='blue')
ax1.set_title('Sine Wave')

# 서브플롯 추가 2
ax2 = fig.add_subplot(3, 1, 2)
ax2.plot(x, y2, color='red')
ax2.set_title('Cosine Wave')

# 서브플롯 추가 3
ax3 = fig.add_subplot(3, 1, 3)
ax3.plot(x, y3, color='green')
ax3.set_ylim(-5, 5)  # tan(x) 범위를 제한
ax3.set_title('Tangent Wave')

plt.tight_layout()
plt.show()

결론

Figure.add_subplot 함수는 데이터의 다양한 측면을 비교할 수 있는 유용한 도구입니다. 멋진 그래프를 손쉽게 만들면서 나만의 시각화 스킬을 발전시켜 보세요!

  • 여러 개의 서브플롯을 사용하여 데이터의 비교와 시각화의 재미를 더해보세요!
  • 지금바로 Figure.add_subplot 함수를 활용하여 나만의 데이터 스토리를 만들어 보세요!
반응형