Python의 matplotlib 라이브러리를 활용하면 색상이 입혀진 3D 표면 플롯을 손쉽게 만들 수 있습니다. 아래 단계를 따라 진행해 보세요.
구현 단계
그림(figure) 크기를 설정하고, 서브플롯 사이와 주변의 여백(padding)을 자동으로 조정합니다.
numpy를 사용하여 x, y 데이터 포인트를 생성합니다.
3D로 표현할 데이터, 즉 z값을 계산합니다.
새 그림을 생성하거나 기존 그림을 활성화합니다.
projection='3d' 옵션을 지정해 3D 축(ax)을 가져옵니다.
plot_surface() 메서드로 표면 플롯을 생성하며, cmap 인자에 원하는 컬러맵을 지정합니다.
show() 메서드를 호출하여 최종 그림을 화면에 표시합니다.
예제 코드
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(-3, 3, 100)
y = np.cos(x)
x, y = np.meshgrid(x, y)
z = x ** 2 + y ** 2 - 2
fig = plt.figure()
ax = plt.axes(projection='3d')
surf = ax.plot_surface(x, y, z,
cmap=plt.get_cmap('hot'),
edgecolor='none')
plt.show()실행 결과
위 코드를 실행하면 'hot' 컬러맵이 적용된 부드러운 3D 표면 그래프가 출력됩니다. edgecolor='none' 옵션 덕분에 격자 선 없이 깔끔한 표면이 완성됩니다.

핵심 포인트 정리
np.meshgrid()는 1차원 배열을 2차원 좌표 그리드로 변환해 주어 표면 플롯에 필수적입니다.
cmap 옵션에는 'hot', 'viridis', 'coolwarm' 등 다양한 내장 컬러맵을 사용할 수 있으며, 값의 크기에 따라 색상이 직관적으로 표현됩니다.
plt.rcParams 설정을 통해 그림 크기와 여백을 미리 조정하면 반복 작업 시 코드가 더 간결해집니다.