import matplotlib.pyplot as plt import numpy as np fig = plt.figure(figsize=(8, 8)) ax = fig.add_subplot(111, projection='3d') phi, theta = np.mgrid[0:2*np.pi:40j, 0:np.pi:20j] x = np.sin(theta) * np.cos(phi) y = np.sin(theta) * np.sin(phi) z = np.cos(theta) for r in np.linspace(0.5, 1, 4): # 4 layers from radius 0.5 to 1 ax.plot_surface(r*x, r*y, r*z, alpha=0.3, edgecolor='k', color='cyan') for r in np.linspace(0.5, 1, 4): ax.scatter(r*x[::5, ::5], r*y[::5, ::5], r*z[::5, ::5], color='yellow', s=10) ax.set_title(".", fontsize=14) ax.set_xlabel("X-axis") ax.set_ylabel("Y-axis") ax.set_zlabel("Z-axis") plt.show()