我正在制作一个情节,如下所示:
http://matplotlib.org/examples/mplot3d/polys3d_demo.html
但在示例中,他们声明:
ys[0], ys[-1] = 0, 0
使多边形在 x,y 平面上有一个点。
我的数据在端点没有零。因此,当我绘制它时,多边形不会像示例中那样接触 x,y 平面。即使端点处的 f(x,y) 数据点不为零,是否有一种技巧可以使多边形下降到 (x,y) 平面?
这是我现在的代码。(x,y) 平面由一维数组 U_array 和 d_array 确定。z 变量称为 zvar,是一个二维数组:
fig = plt.figure()
ax = fig.gca(projection='3d')
xs = U_array
verts = []
zs = list(d_array)
indx = 0
for z in zs:
ys = np.copy(zvar[:,indx])
# ys[0], ys[-1] = 0, 0
verts.append(list(zip(xs, ys)))
indx = indx + 1
poly = PolyCollection(verts, facecolors = facecolors)
poly.set_alpha(0.7)
ax.add_collection3d(poly, zs=zs, zdir='y')
plt.show()
如何在没有上面的注释行的情况下制作我的情节,我人为地将我的数据点在末端设为零?
谢谢。另外,出于好奇,为什么这里的 zs 不是真正的 z 变量?...