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()