본문 바로가기
Python/matplotlib

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

by PySun 2024. 10. 30.
반응형

Matplotlib: contourf 함수로 매력적인 영역 등고선 그리기

파이썬의 Matplotlib 라이브러리는 데이터 시각화에 매우 유용한 도구입니다. 그 중 pyplot.contourf 함수는 2D 평면상의 데이터에 대한 등고선(컨투어) 플롯을 매우 효과적으로 그려줍니다. 이 포스팅에서는 contourf 함수의 사용법과 함께 시각적으로 매력적인 예제를 통해 설명하겠습니다.

contourf 함수 소개

contourf 함수는 주어진 x, y 좌표에 대한 z 값의 등고선을 색상으로 표현하여 2D 평면상의 오버레이를 만들어냅니다. 특히 데이터의 경향성을 시각적으로 설명할 수 있어 과학적 조사나 프레젠테이션에서 매우 유용합니다.

함수 시그니처

matplotlib.pyplot.contourf(X, Y, Z, levels=None, **kwargs)

매개변수:

  • X: x 좌표로 구성된 2D 배열 또는 그리드.
  • Y: y 좌표로 구성된 2D 배열 또는 그리드.
  • Z: 각 (x,y) 쌍에 대한 z 값으로 구성된 2D 배열.
  • levels: (선택 사항) 등고선의 레벨을 지정하는 수치 리스트.

반환 값:

  • 컨투어 플롯을 출력하는 Axes 객체를 반환합니다.

사용 예제

기본 예제

다음은 contourf 함수를 사용하여 간단한 등고선 플롯을 만드는 예제입니다.

import numpy as np
import matplotlib.pyplot as plt

# 그리드 데이터 생성
x = np.linspace(-3.0, 3.0, 100)
y = np.linspace(-3.0, 3.0, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# contourf 함수로 등고선 플롯 생성
plt.contourf(X, Y, Z, cmap='viridis')
plt.colorbar()  # 색상 바 추가
plt.title('Contourf Example')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')

plt.show()

다양한 레벨 예제

여러 레벨의 등고선을 시각적으로 비교하기 위해 levels 매개변수를 사용하겠습니다.

import numpy as np
import matplotlib.pyplot as plt

# 그리드 데이터 생성
x = np.linspace(-3.0, 3.0, 100)
y = np.linspace(-3.0, 3.0, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))

# 다양한 레벨로 contourf 플롯 생성
levels = np.linspace(-1, 1, 10)
plt.contourf(X, Y, Z, levels=levels, cmap='plasma')
plt.colorbar()  # 색상 바 추가
plt.title('Contourf Example with Multiple Levels')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')

plt.show()

결론

matplotlib.pyplot.contourf 함수는 2D 데이터의 관계를 시각적으로 이해하는 데 매우 유용합니다. 이 함수는 데이터를 연구 및 의사소통의 도구로 활용하는 데 도움을 줍니다. 여러 레벨을 사용하여 다양한 색상을 더함으로써 데이터의 변화를 명확하게 보여줄 수 있습니다.

  • 지금 바로 contourf 함수를 통해 색상으로 표현된 데이터를 시각적으로 탐험해보세요!
  • 당신의 데이터 시각화의 가능성을 확장하고 독특한 통찰력을 발견해보세요!
반응형