How to display color as a function of distance to the origin in matplotlib's 3D surface plot?
问题 I am trying to plot a certain function Q(theta, phi) in spherical coordinate using python's matplotlib package. I want the color to show up as a function of distance to the origin instead of the z coordinate. Is there a way to do this? Here is the code I use to produce the 3D surface plot: %matplotlib notebook fig = plt.figure(figsize=(12,12)) ax = fig.add_subplot(111, projection='3d') X, Y = Q*np.sin(Theta)*np.cos(Phi), Q*np.sin(Theta)*np.sin(Phi) Z = Q*np.cos(Theta) ax.plot_surface(X, Y, Z,