我遇到了matplotlibs 3dplot的问题。如果我绘制两个3d对象,那么应该在前面的那个有时在后面。以下面的代码为例
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as pl
import numpy as np
fig = pl.figure()
ax = fig.add_subplot(111, projection='3d')
u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)
X = 10 * np.outer(np.cos(u), np.sin(v))
Y = 10 * np.outer(np.sin(u), np.sin(v))
Z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))
ax.plot_surface(X+10,Y,Z, rstride=4, cstride=4, color='b')
u=np.linspace(-2,2,100)
X = 10 * np.outer(np.ones(len(u)), u)
Y = 10 * np.outer(u, np.ones(len(u)))
Z = 10 * np.zeros((len(u), len(u)))
ax.plot_surface(Z,X,Y, rstride=4, cstride=4, color='b')
pl.show()
它应该绘制一个平面,其中有一个球体,但球体似乎在平面后面。