我正在可视化单位球面上的函数。 我使用cmap和matplotlib.colors。但是当它渲染时 原来在这个球体上有一些令人讨厌的阴影。
代码如下:
try:
import matplotlib.pyplot as plt
import matplotlib as mpl
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
except:
pass
N = 100
fig = plt.figure(figsize=(7,6.5))
ax = fig.add_subplot(1,1,1, projection='3d')
theta = np.linspace(0, 2 * np.pi, N)
phi = np.linspace(0, 1.0*np.pi, N)
THETA,PHI = np.meshgrid(theta,phi)
state = spin_coherentx(7/2,0.0,0.0)
d = np.shape(state)[0]
prime = add_random_noise(state,0,0.1)
X = np.sin(THETA) * np.cos(PHI)
Y = np.sin(THETA) * np.sin(PHI)
Z = np.cos(THETA)
H = husimi_spin(state,phi,theta)
if H.min() < -1e12:
cmap = cm.cool
norm = mpl.colors.Normalize(-H.max(), H.max())
else:
cmap = cm.cool
norm = mpl.colors.Normalize(H.min(), H.max())
ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
facecolors=cmap(norm(H)), linewidth=0)
plt.axis('off')
plt.show()
但是,这只是我们后端代码的一小部分,但是我希望您能帮助我解决这个问题。预先谢谢你。