본문 바로가기
Python/matplotlib

파이썬 matplotlib.pyplot.subplot 함수 활용하기

by PySun 2024. 10. 26.
반응형

Matplotlib의 subplot 함수: 다양한 서브플롯을 손쉽게 만들기

데이터 시각화에서 Matplotlib는 파이썬 사용자에게 없어서는 안 될 도구입니다. 이 포스팅에서는 matplotlib.pyplot.subplot 함수를 사용하여 여러 개의 서브플롯을 효과적으로 만드는 방법에 대해 소개합니다. 데이터의 복잡성을 시각적으로 풀어내는 과정은 때로는 도전적이지만, 적절한 도구와 접근법을 통해 훨씬 수월해질 수 있습니다.

subplot 함수 소개

matplotlib.pyplot.subplot 함수는 한 그림 내에 여러 개의 서브플롯을 그릴 수 있도록 지정할 수 있는 기능을 제공합니다. 이 함수는 subplot의 배열을 설정하고 각 위치에 개별적인 플롯을 그리게 됩니다. 이로 인해 데이터의 비교와 시각화가 한층 용이해집니다.

함수 시그니처

matplotlib.pyplot.subplot(nrows, ncols, index)

매개변수:

  • nrows: 서브플롯의 행 수입니다.
  • ncols: 서브플롯의 열 수입니다.
  • index: 서브플롯의 위치를 나타내는 인덱스입니다 (1부터 시작).

반환 값:

  • 지정된 위치에 새 서브플롯을 반환합니다.

사용 예제

기본 서브플롯 예제

다음은 plt.subplot 함수를 사용하여 2행 2열의 서브플롯을 생성하는 기본 예제입니다.

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)
y4 = np.exp(x)

plt.figure(figsize=(10, 8))

# 첫 번째 서브플롯
plt.subplot(2, 2, 1)
plt.plot(x, y1, 'r-')
plt.title('Sine Wave')

# 두 번째 서브플롯
plt.subplot(2, 2, 2)
plt.plot(x, y2, 'g-')
plt.title('Cosine Wave')

# 세 번째 서브플롯
plt.subplot(2, 2, 3)
plt.plot(x, y3, 'b-')
plt.title('Tangent Wave')
plt.ylim(-10, 10)  # y축 제한

# 네 번째 서브플롯
plt.subplot(2, 2, 4)
plt.plot(x, y4, 'm-')
plt.title('Exponential Function')

plt.tight_layout()
plt.show()

다양한 서브플롯 배열 예제

다양한 데이터 시각화를 위한 다양한 배열의 서브플롯을 설정할 수 있습니다.

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)
y4 = np.exp(-x)

plt.figure(figsize=(12, 8))

# 2행 2열 서브플롯
plt.subplot(2, 2, 1)
plt.plot(x, y1, label='Sine', color='red')
plt.title('Sine Function')
plt.legend()

plt.subplot(2, 2, 2)
plt.plot(x, y2, label='Cosine', color='blue')
plt.title('Cosine Function')
plt.legend()

# 1행 2열(확장된) 서브플롯
plt.subplot(1, 2, 1)
plt.plot(x, y3, label='Tangent', color='green')
plt.title('Tangent Function')
plt.ylim(-10, 10)
plt.legend()

plt.subplot(1, 2, 2)
plt.plot(x, y4, label='Exponential Decay', color='purple')
plt.title('Exponential Decay')
plt.legend()

plt.tight_layout()
plt.show()

결론

matplotlib.pyplot.subplot 함수는 데이터를 다양한 방식으로 시각화하는 데 매우 유용합니다. 복잡한 정보도 쉽게 이해할 수 있도록 정리해 줄 수 있습니다. 당신의 데이터 이야기, 지금 바로 시각화 해보세요!

  • 서브플롯으로 다차원 데이터를 손쉽게 비교해보세요!
  • 지금 바로 subplot을 활용하여 당신의 데이터를 예술로 빚어보세요!
반응형