การพล็อตผิว 3D ต้องการข้อมูล 2 มิติ ไม่ใช่ DataFrame แบบ 1 มิติ
ขั้นตอนการทำงาน
- กำหนดขนาดรูปภาพและปรับระยะห่างระหว่างและรอบๆ subplots
- สร้าง figure ใหม่หรือเปิดใช้งาน figure ที่มีอยู่ด้วย figure()
- เพิ่ม axes เข้าไปใน figure ด้วย add_subplot() แบบ 3D projection
- กำหนดตัวแปร n สำหรับจำนวนตัวอย่าง
- สร้างข้อมูล x, y และ z ด้วย numpy
- ใช้ plot_surface() สร้างกราฟผิว 3D
- ใช้เมธอด show() เพื่อแสดงรูปภาพ
ตัวอย่างโค้ด
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
n = 50
x = np.random.rand(n)
y = np.tan(x)
z = np.random.rand(n, n)
surf = ax.plot_surface(y, x, z, rstride=1, cstride=1, cmap='copper', linewidth=0, antialiased=False)
ax.axis('off')
plt.show()
ผลลัพธ์
