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

Matplotlib로 파이썬에서 와이어프레임 플롯(Wireframe Plot) 그리는 방법

Matplotlib 소개

Matplotlib는 파이썬에서 가장 널리 사용되는 데이터 시각화 라이브러리 중 하나입니다. 데이터 시각화는 복잡한 수치 계산을 일일이 수행하지 않고도 데이터에 어떤 패턴과 경향이 있는지 직관적으로 파악할 수 있게 해주는 중요한 과정입니다. 또한 정량적인 인사이트를 청중에게 효과적으로 전달하는 데 큰 도움이 됩니다.

Matplotlib는 데이터를 기반으로 2차원 플롯을 생성하며, 객체 지향 API를 제공하여 파이썬 애플리케이션 안에 손쉽게 플롯을 삽입할 수 있습니다. IPython 셸, Jupyter Notebook, Spyder IDE 등 다양한 환경에서 사용할 수 있으며, 순수 파이썬으로 작성되었고 수치 연산 라이브러리인 NumPy를 기반으로 만들어졌습니다.

Matplotlib 설치하기

Windows 환경에서는 아래 명령어로 간단히 설치할 수 있습니다.

pip install matplotlib

Matplotlib가 정상적으로 동작하기 위해 필요한 의존성 패키지는 다음과 같습니다.

Python (3.4 이상)
NumPy
Setuptools
Pyparsing
Libpng
Pytz
FreeType
Six
Cycler
Dateutil

와이어프레임 플롯 예제

와이어프레임 플롯은 3차원 곡면을 격자 형태의 선으로 표현하는 방식으로, 3D 데이터의 구조를 한눈에 확인할 때 유용합니다. 아래 예제를 통해 Matplotlib로 와이어프레임 플롯을 그리는 방법을 살펴보겠습니다.

from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt

def my_fun(x, y):
    return np.sin(np.sqrt(x ** 4 + y ** 4))

x = np.linspace(-8, 8, 30)
y = np.linspace(-8, 8, 30)

X, Y = np.meshgrid(x, y)
Z = my_fun(X, Y)

fig = plt.figure()
ax = plt.axes(projection='3d')
ax.plot_wireframe(X, Y, Z, color='red')
plt.xlabel('X axis')
plt.ylabel('Y axis')
ax.set_title('A wireframe plot')
plt.show()

실행 결과

Matplotlib로 파이썬에서 와이어프레임 플롯(Wireframe Plot) 그리는 방법

코드 설명

  • 필요한 패키지들을 임포트하고 별칭(alias)을 지정합니다.

  • 'sine(사인)' 함수를 활용해 데이터를 생성하는 사용자 정의 함수를 선언합니다.

  • NumPy의 linspace를 사용하여 -8부터 8까지 균일한 간격의 좌표값을 생성합니다.

  • meshgrid로 x, y 좌표의 격자를 만든 뒤 함수를 호출해 z값을 계산합니다.

  • 플롯을 생성하고 projection 옵션을 '3d'로 지정하여 3차원 축을 설정합니다.

  • Matplotlib의 plot_wireframe 함수를 호출하여 와이어프레임을 그리고, 색상은 빨간색으로 지정합니다.

  • show 함수를 통해 최종 플롯을 화면에 출력합니다.