我目前正在绘制两个完全不同的数据集到一个3D曲面图中。当我独立绘制每一个时,一切正常。但是,只要我将它们绘制成一个,可视化就很奇怪。我做的绘图方式如下:Matplotlib - 多重曲面图,错误重叠
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](http://code.enthought.com/projects/mayavi/)。 – hooy
谢谢,我试图通过使用mesh()来使用mayavi,但生成的绘图保持空白。我已经使用了与我的matplotlib代码相同的X,Y,Z numpy数组。有任何想法吗? – fsociety
可能重复的[如何画这样的图?](http://stackoverflow.com/questions/14824893/how-to-draw-diagrams-like-this) – tacaswell