我正在尝试绘制通过一组(X,Y,Z)三维点的3D曲面,但是遇到了 raise ValueError("Argument Z must be 2-dimensional.") matplotlib 错误。
points = Tail_geo(D,L) # is a list from a function
points = points + Nose_geo(D,L)# is a list from both function s
X = [x[0] for x in points]# seperate X from the list
Y = [x[1] for x in points]
Z = [x[2] for x in points]
X = np.asarray(X)
Y = np.asarray(Y)
Z = np.asarray(Z)
fig = plt.figure()
ax = fig.gca(projection='3d')
surf = ax.plot_surface(X, Y, Z, linewidth=0, antialiased=False)
plt . show ( )
Tail_geo
和Nose_geo
的定义并且没有显示导入。这些事情可能很重要。请显示一个完整的代码片段,以便我们可以复制粘贴然后运行。还要显示错误的完整回溯。请查看如何创建最小、完整和可验证的示例。 - Rory DaultonZ
似乎也是一个一维列表。对于一组X
和Y
点,在三维表面上,您需要这些X
和Y
点的网格,并在每个这些n
次n
的网格点上定义/计算Z
(假设len(X) = n; len(Y) = n
)。使用当前数据,您只能绘制一个三维散点图。如果需要更多信息,请分享您的代码。 - Sheldore