Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Vẽ đồ thị 3D plot_surface với chiếu contour trong Matplotlib

Để vẽ đồ thị 3D plot_surface kết hợp với chiếu contour plot, ta sử dụng các phương thức plot_surface() và contourf().

Các bước thực hiện

  • Thiết lập kích thước figure và padding.
  • Tạo dữ liệu x, y, X, Y và Z bằng NumPy.
  • Tạo figure mới hoặc kích hoạt figure hiện có bằng figure().
  • Thêm axes 3D vào figure bằng add_subplot() với projection='3d'.
  • Sử dụng plot_surface() để tạo bề mặt 3D.
  • Tạo contour plot 3D đã tô màu bằng contourf() trên các mặt phẳng z, x, y.
  • Tắt hiển thị trục tọa độ.
  • Hiển thị bằng show().

Ví dụ

import numpy as np
from matplotlib import pyplot as plt

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

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(x, y)
Z = X * np.exp(-X - Y)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
surf = ax.plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=1, cmap="copper")
ax.contourf(X, Y, Z, zdir='z', offset=np.min(Z), cmap="plasma")
ax.contourf(X, Y, Z, zdir='x', offset=-5, cmap="PiYG_r")
ax.contourf(X, Y, Z, zdir='y', offset=5, cmap="PuBuGn")
ax.axis('off')
plt.show()

Kết quả

Vẽ đồ thị 3D plot_surface với chiếu contour trong Matplotlib