สามารถใช้เมธอด plot_surface() และ contourf() เพื่อสร้างกราฟผิว 3 มิติพร้อมการฉายเส้นระดับได้
ขั้นตอนการทำงาน
- กำหนดขนาดรูปภาพและปรับระยะห่างระหว่างและรอบๆ subplots
- สร้างข้อมูล x, y, X, Y และ Z ด้วย numpy
- สร้าง figure ใหม่หรือเปิดใช้งาน figure ที่มีอยู่ด้วยเมธอด figure()
- เพิ่ม axes แบบ 3D เข้าไปใน figure เป็นส่วนหนึ่งของ subplot arrangement
- ใช้เมธอด plot_surface() สร้างกราฟผิว
- สร้างกราฟเส้นระดับ 3D แบบเติมสีด้วยเมธอด contourf()
- ปิดการแสดงแกน
- ใช้เมธอด show() เพื่อแสดงรูปภาพ
ตัวอย่างโค้ด
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()
ผลลัพธ์
