【发布时间】:2013-07-14 11:59:55
【问题描述】:
我目前正在将两个完全不同的数据集绘制成一个 3D 曲面图。当我独立绘制每一个时,一切正常。但是,一旦我将它们绘制成一个,可视化就很奇怪。我按照以下方式进行绘图:
fig = plt.figure(figsize=(20,10))
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X,Y,Z, color=color, antialiased=True)
(get new X,Y, Z values)
ax.plot_surface(X,Y,Z, color=color, antialiased=True)
ax.view_init(30, 360)
输出如下:
如您所见,蓝色数据是正确的,但绿色数据不知何故位于背面,无法正确显示。如果我单独绘制绿色的,它可以完美地工作。
更改绘图顺序(或玩弄 zorder)不会改变任何事情。
希望有人能提供帮助!
【问题讨论】:
-
这很可能是因为 matplotlib 最初旨在成为一个纯 2D 绘图库。 matplotlib 的 3D 功能是有限的,因为它们是通过转换实现的。要使用 Python 在“真实”3D 中绘图,您应该查看mayavi。
-
谢谢,我尝试通过使用 mesh() 来使用 mayavi,但生成的绘图保持空白。我使用了与我的 matplotlib 代码相同的 X、Y、Z numpy 数组。有什么想法吗?
-
您应该打开一个新问题“我该如何处理 mayavi?”
标签: python 3d matplotlib plot