원형 모양의 matplotlib.pyplot.contourf 등고선 플롯을 그리려면 다음 단계를 따르면 됩니다.
- 그림(figure) 크기를 설정하고 서브플롯 주변과 사이의 여백을 조정합니다.
- Numpy를 사용하여 x, y, a, b와 c 데이터 포인트를 생성합니다.
- 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()
코드 설명
x와y는 -0.5부터 0.5까지 100개의 균일한 값을 가지며,np.meshgrid로 2차원 격자 좌표a,b를 만듭니다.c = a**2 + b**2 - 0.2는 원점으로부터의 거리 제곱에 기반한 값이므로, 등고선이 자연스럽게 동심원 형태가 됩니다.axes.set_aspect(1)은 x축과 y축의 스케일을 동일하게 맞춰 원이 왜곡 없이 원형으로 출력되도록 합니다.
실행 결과
위 코드를 실행하면 원점을 중심으로 한 동심원 형태의 채워진 등고선 플롯이 출력됩니다.
