【发布时间】:2017-06-04 14:41:44
【问题描述】:
我按照link 绘制了 3D 图形。 我的问题是我已经有 3 个 X、Y、Z 列表
X.shape (n,) , Y.shape (n,) , Z.shape (n,)
如何将这些列表传递到surf = ax.plot_surface(X, Y, Z) 作为链接显示这些变量中的每一个都具有以下形状
X.shape (n,n) , Y.shape (n,n) , Z.shape (n,n)
如果我传递这些坐标,因为它们每个形状都是 (n,),那么 3d 图形将显示为空,不会绘制任何点!
我尝试如下使用np.meshgrid,但这种方式只会在一个平面上显示一个表面,而不是 3d 点!
X,Y,Z = np.meshgrid(X,Y,Z)
X = X[0]
Y = Y[0]
Z = Z[0]
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_surface(X, Y, Z)
plt.show()
【问题讨论】:
-
你能告诉我们更多关于你原来的 X,Y,Z 数组的内容吗,也许它们可以被重新塑造以适应 plot_surface 的要求。
标签: python numpy matplotlib mplot3d