python表面图中的着色

时间:2018-08-27 21:55:17

标签: python matplotlib scipy-spatial

我是新来的。请保持温柔。 我想为我的项目画一个图。现在我得到了90%。这是我得到的图形:The figure I got这是我想要的图形:The figure I want我注意到第二个图形中存在一些颜色差异。看来颜色随角度变化。我希望我的身材看起来像那样。 python有什么办法可以实现它吗?我将不胜感激。 这是我的代码:

import numpy as np
from matplotlib import cm, colors
import matplotlib.pyplot as plt
import scipy.special as sp
from mpl_toolkits.mplot3d import Axes3D

l = 3    # degree
m = 0    # order
phi, theta = np.mgrid[0:2*np.pi:300j, 0:np.pi:150j]
R0 = sp.sph_harm(m, l, phi, theta).real

alpha = 0.2
prefactor = R0*alpha + 1.
X = prefactor * np.sin(theta) * np.cos(phi)
Y = prefactor * np.sin(theta) * np.sin(phi)
Z = prefactor * np.cos(theta)

norm = colors.Normalize()
fig, ax = plt.subplots(subplot_kw=dict(projection='3d'), figsize=(10,12))
m = cm.ScalarMappable(cmap=cm.jet)

# hide the background axes
plt.axis('off')

# change the view
ax.view_init(1, )

ax.plot_surface(X, Y, Z, rstride=10, cstride=10, color = 'orangered', edgecolors='k')
m.set_array(R0)

0 个答案:

没有答案