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

Matplotlib에서 임의의 데이터로 4D 플롯 그리기 완벽 가이드

4D 플롯을 그리려면 x, y, z 좌표에 더해 색상(c) 정보를 담은 네 가지 데이터 포인트를 생성하면 됩니다. 이렇게 하면 3차원 공간 위에 네 번째 차원을 색상으로 표현하는 산점도를 만들 수 있습니다.

구현 단계

  • figure() 메서드를 사용해 새 Figure를 생성하거나 기존 Figure를 활성화합니다.

  • add_subplot() 메서드로 서브플롯 배치에 3D 축을 추가합니다.

  • NumPy를 사용하여 x, y, z, c 데이터 포인트를 생성합니다.

  • scatter() 메서드로 산점도를 그립니다. 이때 c 매개변수에 색상 데이터를 전달하고 cmap으로 컬러맵을 지정합니다.

  • show() 메서드로 Figure를 화면에 표시합니다.

예제 코드

from matplotlib import pyplot as plt
import numpy as np

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

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.random.standard_normal(100)
y = np.random.standard_normal(100)
z = np.random.standard_normal(100)
c = np.random.standard_normal(100)

img = ax.scatter(x, y, z, c=c, cmap='YlOrRd', alpha=1)
plt.show()

코드 설명

  • plt.rcParams["figure.figsize"]: Figure 크기를 가로 7인치, 세로 3.5인치로 설정합니다.

  • fig.add_subplot(111, projection='3d'): 3차원 투영(projection)이 적용된 축을 생성합니다.

  • np.random.standard_normal(100): 표준 정규분포를 따르는 난수 100개를 각 축과 색상 값으로 생성합니다.

  • cmap='YlOrRd': 노란색에서 주황색, 빨간색으로 이어지는 컬러맵을 사용해 네 번째 차원(c) 값을 시각화합니다.

  • alpha=1: 점의 불투명도를 완전 불투명하게 설정합니다.

실행 결과

위 코드를 실행하면 3차원 공간에 흩어진 점들이 표시되며, 각 점의 색상은 네 번째 데이터 값(c)에 따라 YlOrRd 컬러맵으로 매핑됩니다. 이를 통해 x, y, z 위치 정보와 함께 추가 변수까지 한눈에 파악할 수 있는 4D 시각화가 완성됩니다.