Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วาด 3D Surface จากข้อมูล Scatter {x,y,z} ใน Matplotlib

ใช้ plot_surface() กับ meshgrid จากข้อมูล x, y คำนวณ z

ตัวอย่างโค้ด


import matplotlib.pyplot as plt
import numpy as np

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

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.array(np.linspace(-2, 2, 100))
y = np.array(np.linspace(-2, 2, 10))
X, Y = np.meshgrid(x, y)
Z = X * np.exp(-X**2 - Y**2)

ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap="plasma", linewidth=0, antialiased=False)
plt.show()

ผลลัพธ์

3D surface plot ของฟังก์ชัน Z = X * exp(-X² - Y²)

วาด 3D Surface จากข้อมูล Scatter {x,y,z} ใน Matplotlib