Plot Permukaan dalam Matplotlib
Apabila mencipta plot permukaan, fungsi plot_surface memerlukan tatasusunan 2D sebagai argumen untuk mewakili titik dalam ruang 3D. Walau bagaimanapun, jika anda hanya mempunyai senarai mata 3D, terdapat pertimbangan khusus yang perlu diambil.
Awan Titik Triangulasi
Untuk senarai mata 3D, plot_surface tidak boleh digunakan secara langsung kerana kekaburan dalam menyegitiga titik ke permukaan. Matplotlib tidak menyediakan kaedah untuk menyegitiga titik secara automatik ke dalam permukaan.
Pendekatan Alternatif: Permukaan Berasaskan Grid
Jika anda tidak mempunyai fungsi yang mewakili permukaan, anda boleh menjana permukaan berasaskan grid menggunakan fungsi seperti fun(x, y). Dalam pendekatan ini, anda mentakrifkan meshgrid titik dan mengira nilai z yang sepadan menggunakan fungsi yang diberikan.
<code class="python">import numpy as np import matplotlib.pyplot as plt # Define the function def fun(x, y): return x**2 + y # Create a meshgrid x = y = np.arange(-3.0, 3.0, 0.05) X, Y = np.meshgrid(x, y) # Compute the z-values zs = np.array(fun(np.ravel(X), np.ravel(Y))) Z = zs.reshape(X.shape) # Create the surface plot fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.plot_surface(X, Y, Z)</code>
Pendekatan ini membolehkan anda mencipta permukaan licin yang melalui titik 3D yang diberikan dan meliputi keseluruhan tahap grid.
Atas ialah kandungan terperinci Bagaimana untuk Membuat Plot Permukaan dalam Matplotlib dengan Senarai Mata 3D?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!