Để 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ả
