Computer >> Máy Tính >  >> Lập trình >> Python

Vẽ một bề mặt 3D từ danh sách các bộ giá trị trong matplotlib?

Để vẽ một bề mặt 3D từ danh sách các bộ giá trị trong matplotlib, chúng ta có thể thực hiện các bước sau.

Các bước

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con.

  • Lập danh sách các bộ giá trị.

  • Nhận x, y z điểm dữ liệu từ danh sách các bộ giá trị.

  • Trả về ma trận tọa độ từ các vectơ tọa độ.

  • Nhận h các điểm dữ liệu cho biểu đồ bề mặt.

  • Tạo một hình mới hoặc kích hoạt một hình hiện có.

  • Lấy trục hiện tại, 3d, của hình.

  • Tạo sơ đồ bề mặt.

  • Để hiển thị hình này, hãy sử dụng Show () phương pháp.

Ví dụ

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()

Đầu ra

Nó sẽ tạo ra kết quả sau -

Vẽ một bề mặt 3D từ danh sách các bộ giá trị trong matplotlib?