下面的代码生成我测量强度的点的3D图.我希望将强度值附加到每个点,然后在点之间插值,以产生显示高强度和低强度点的颜色图/表面图.
我相信这样做是必要的scipy.interpolate.RectBivariateSpline,但我不确定它是如何工作的 - 因为我所看到的所有例子都没有包括3D图.
编辑:我想将球体显示为表面图,但我不确定我是否可以使用Axes3D因为我的点不均匀分布(即赤道周围的点更靠近)
任何帮助将不胜感激.
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
# Radius of the sphere
r = 0.1648
# Our theta vals
theta = np.array([0.503352956, 1.006705913, 1.510058869,
1.631533785, 2.134886741, 2.638239697])
# Our phi values
phi = np.array([ np.pi/4, np.pi/2, 3*np.pi/4, np.pi,
5*np.pi/4, 3*np.pi/2, 7*np.pi/4, 2*np.pi])
# Loops over each angle to generate the points on the surface of sphere
def gen_coord():
x = np.zeros((len(theta), len(phi)), dtype=np.float32)
y …Run Code Online (Sandbox Code Playgroud)