对于曲面,它与三元组列表略有不同,您应该为2d数组中的域传递网格。
如果您只拥有3d点列表而不是某些函数f(x, y) -> z,那么您将遇到问题,因为有多种方法可以将3d点云划分为表面。
这是一个光滑的表面示例:
import numpy as npfrom mpl_toolkits.mplot3d import Axes3D # Axes3D import has side effects, it enables using projection='3d' in add_subplotimport matplotlib.pyplot as pltimport randomdef fun(x, y): return x**2 + yfig = plt.figure()ax = fig.add_subplot(111, projection='3d')x = y = np.arange(-3.0, 3.0, 0.05)X, Y = np.meshgrid(x, y)zs = np.array(fun(np.ravel(X), np.ravel(Y)))Z = zs.reshape(X.shape)ax.plot_surface(X, Y, Z)ax.set_xlabel('X Label')ax.set_ylabel('Y Label')ax.set_zlabel('Z Label')plt.show()


