Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

matplotlib의 튜플 목록에서 3D 표면을 플로팅합니까?

<시간/>

matplotlib의 튜플 목록에서 3D 표면을 그리기 위해 다음 단계를 수행할 수 있습니다.

단계

  • Figure 크기를 설정하고 서브플롯 사이와 주변의 패딩을 조정합니다.

  • 튜플 목록을 만드세요.

  • x, y 가져오기 및 z 튜플 목록의 데이터 포인트.

  • 좌표 벡터에서 좌표 행렬을 반환합니다.

  • h 얻기 표면 플롯의 데이터 포인트.

  • 새 그림을 만들거나 기존 그림을 활성화하세요.

  • Figure의 현재 축인 3d를 가져옵니다.

  • 곡면 플롯을 만듭니다.

  • 그림을 표시하려면 Show()를 사용하세요. 방법.

예시

import numpy as np
from matplotlib import pyplot as plt

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

# List of tuples
data = [(1, 3, 2), (3, 5, 2), (4, 7, 4), (8, 7, 4),
        (3, 6, 1), (3, 9, 0), (3, 9, 0)]

# Data points from the list of tuples
x, y, z = zip(*data)

x, y = np.meshgrid(x, y)

h = x ** 2 + y ** 2

fig = plt.figure()

# Get the current axis
ax = fig.gca(projection='3d')

# Surface plot
ax.plot_surface(x, y, h, cmap='plasma')

plt.show()

출력

다음 출력을 생성합니다 -

matplotlib의 튜플 목록에서 3D 표면을 플로팅합니까?