본문 바로가기
Python/matplotlib

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

by PySun 2024. 11. 8.
반응형

파이썬 matplotlib.pyplot.subplots 함수: 다중 플롯을 손쉽게 구현하기

데이터 시각화는 데이터 분석의 중요한 부분이며, matplotlib 라이브러리는 이 과정에서 필수적인 도구입니다. 특히 pyplot.subplots 함수는 여러 개의 플롯을 간편하게 생성할 수 있는 강력한 도구입니다. 이번 포스팅에서는 pyplot.subplots 함수를 활용하는 방법과 그 예제를 살펴보겠습니다.

pyplot.subplots 함수 소개

pyplot.subplots 함수는 여러 개의 서브플롯(subplot)을 생성하여 복잡한 데이터 시각화를 간편하게 만들어주는 기능을 제공합니다. 이 함수의 사용으로 다양한 형태의 그래프를 한 창에서 동시에 확인할 수 있어 효율적입니다.

함수 시그니처

matplotlib.pyplot.subplots(nrows=1, ncols=1, **fig_kw)

매개변수:

  • nrows: 생성할 행(row)의 수입니다.
  • ncols: 생성할 열(column)의 수입니다.
  • fig_kw: Figure 관련 추가 설정을 위한 키워드 인수입니다.

반환 값:

  • 새로운 Figure 객체와 축(axes) 객체의 배열을 반환합니다.

사용 예제

기본 예제

다음은 간단한 pyplot.subplots 함수를 사용하여 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)

# 2행 2열의 서브플롯 생성
fig, axs = plt.subplots(2, 2)

# 서브플롯에 데이터 플롯팅
axs[0, 0].plot(x, y1, 'r')
axs[0, 0].set_title('Sine Wave')

axs[0, 1].plot(x, y2, 'g')
axs[0, 1].set_title('Cosine Wave')

axs[1, 0].plot(x, y3, 'b')
axs[1, 0].set_title('Tangent Wave')

axs[1, 1].plot(x, y4, 'purple')
axs[1, 1].set_title('Exponential Function')

plt.tight_layout()
plt.show()

복합 예제

다양한 스타일을 활용해 색다른 결과를 보여주는 서브플롯을 만들어 보세요!

import matplotlib.pyplot as plt
import numpy as np

# 데이터 준비
x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.sin(2*x)
y3 = np.sin(3*x)

# 3개의 서브플롯 생성
fig, axs = plt.subplots(3, figsize=(8,6))

# 각 서브플롯에 시각화
axs[0].plot(x, y1, color='blue', label='sin(x)')
axs[0].set_title('Sine Function')
axs[0].legend()

axs[1].plot(x, y2, color='orange', label='sin(2x)')
axs[1].set_title('Double Frequency Function')
axs[1].legend()

axs[2].plot(x, y3, color='green', label='sin(3x)')
axs[2].set_title('Triple Frequency Function')
axs[2].legend()

plt.tight_layout()
plt.show()

결론

pyplot.subplots 함수는 다양한 방식으로 데이터를 시각화할 수 있는 귀중한 도구입니다. 복잡한 데이터도 손쉽게 이해하고 표현할 수 있도록 도와줍니다. 예제들을 통해 이 함수의 효과를 직접 느껴보세요!

  • 이제 다양한 시각화를 시도하여 데이터의 인사이트를 발견해 보세요!
  • matplotlib을 활용하여 더 나아가고 싶은 데이터 분석 여정을 시작하세요!
반응형