0

我正在制作一个情节,如下所示:

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 变量?...

4

0 回答 0