比喻为scipy.interpolate.griddata?

Mun*_*kin 7 python interpolation scipy

我想插入给定的3D点云:

我看了scipy.interpolate.griddata,结果正是我需要的,但据我所知,我需要输入"griddata",这意味着类似的东西x = [[0,0,0],[1,1,1],[2,2,2]].

但我给出的3D点云没有这种网格外观 - x,y值的行为不像网格 - 无论如何,每个x,y值只有一个z值.*

对于我的非网格点云,scipy.interpolate.griddata还有其他选择吗?

*编辑:"没有网格外观"意味着我的输入如下所示:

x = [0,4,17]
y = [-7,25,116]
z = [50,112,47]
Run Code Online (Sandbox Code Playgroud)

ely*_*ase 6

这是我用于这种东西的函数:

from numpy import linspace, meshgrid

def grid(x, y, z, resX=100, resY=100):
    "Convert 3 column data to matplotlib grid"
    xi = linspace(min(x), max(x), resX)
    yi = linspace(min(y), max(y), resY)
    Z = griddata(x, y, z, xi, yi)
    X, Y = meshgrid(xi, yi)
    return X, Y, Z
Run Code Online (Sandbox Code Playgroud)

然后像这样使用它:

  X, Y, Z = grid(x, y, z)
Run Code Online (Sandbox Code Playgroud)