小编emc*_*636的帖子

将强度附加到3D绘图

下面的代码生成我测量强度的点的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)

python interpolation matplotlib scipy mplot3d

7
推荐指数
1
解决办法
986
查看次数

标签 统计

interpolation ×1

matplotlib ×1

mplot3d ×1

python ×1

scipy ×1