Để tạo surface plot (biểu đồ bề mặt) từ ảnh grayscale với Matplotlib:
- Thiết lập kích thước figure và padding
- Tạo dữ liệu ngẫu nhiên bằng Numpy
- Lấy dữ liệu
xxvàyytừ raster ảnh 2D - Tạo figure mới
- Lấy axis hiện tại và chuyển sang projection 3D
- Tạo surface plot với
cmap='gray' - Hiển thị bằng
show()
Ví dụ mã nguồn
import numpy as np import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True data = np.random.rand(5, 5) xx, yy = np.mgrid[0:data.shape[0], 0:data.shape[1]] fig = plt.figure() ax = fig.gca(projection='3d') ax.plot_surface(xx, yy, data, rstride=1, cstride=1, linewidth=0, cmap='gray') plt.show()
Kết quả
Biểu đồ bề mặt 3D thể hiện giá trị pixel ảnh grayscale dưới dạng độ cao, màu xám.

Ứng dụng thực tế: Dùng cho dữ liệu địa hình (DEM), nhiệt độ, áp suất, hoặc bất kỳ ma trận 2D nào muốn trực quan hóa 3D.