Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

matplotlib.pyplot으로 원형 contourf 등고선 플롯 그리는 방법

원형 모양의 matplotlib.pyplot.contourf 등고선 플롯을 그리려면 다음 단계를 따르면 됩니다.

  • 그림(figure) 크기를 설정하고 서브플롯 주변과 사이의 여백을 조정합니다.
  • Numpy를 사용하여 x, y, a, bc 데이터 포인트를 생성합니다.
  • figure와 서브플롯 집합을 생성합니다.
  • contourf() 메서드를 사용하여 채워진 등고선 플롯을 그립니다.
  • set_aspect()로 가로세로 비율을 설정합니다. 플롯이 원형으로 보이게 하는 핵심 단계입니다.
  • show() 메서드를 사용하여 그림을 화면에 표시합니다.

핵심 포인트

등고선이 원형으로 표시되려면 x축과 y축의 데이터 단위 길이가 동일해야 합니다. 기본 설정에서는 두 축의 스케일이 다를 수 있어 원래 원형인 등고선이 타원처럼 찌그러져 보일 수 있습니다. axes.set_aspect(1)을 호출하면 두 축의 비율이 1:1로 고정되어 등고선이 정확한 원 형태로 나타납니다.

예제 코드

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(-0.5, 0.5, 100)
y = np.linspace(-0.5, 0.5, 100)

a, b = np.meshgrid(x, y)
c = a ** 2 + b ** 2 - 0.2

figure, axes = plt.subplots()

axes.contourf(a, b, c)

axes.set_aspect(1)

plt.show()

코드 설명

  • xy는 -0.5부터 0.5까지 100개의 균일한 값을 가지며, np.meshgrid로 2차원 격자 좌표 a, b를 만듭니다.
  • c = a**2 + b**2 - 0.2는 원점으로부터의 거리 제곱에 기반한 값이므로, 등고선이 자연스럽게 동심원 형태가 됩니다.
  • axes.set_aspect(1)은 x축과 y축의 스케일을 동일하게 맞춰 원이 왜곡 없이 원형으로 출력되도록 합니다.

실행 결과

위 코드를 실행하면 원점을 중심으로 한 동심원 형태의 채워진 등고선 플롯이 출력됩니다.

matplotlib.pyplot으로 원형 contourf 등고선 플롯 그리는 방법