关于这个:analogy to scipy.interpolate.griddata?
我还有一个问题:
我的输出如下:
这是一个有噪音的金字塔(没有地面)。
在scipy.interpolate.griddata中是否有可能输入/选择某个z值,以便删除不等于该z值的所有点?在我的例子中:例如,我输入一个高z值->只有具有某个红色值(=z值)的点才应该保持活动状态,并显示一个非填充、有噪的红色三角形。目标是得到这个有噪音的三角形内的区域。
编辑:
tldr:正如我刚刚了解到的,这是一条我正在寻找的等值线和它里面的区域。
编辑2:
所以我发现在这个例子中,“grid_z1.T”返回一个包含所有z值的数组。在一个循环中,我可以消除所有不等于某个z值的值-,我得到了我的等值线。问题是,它不是重新放置等值线,而是使用一些等值线值的网格。很好,但也许有更好的解决办法?
还有其他方法可以满足我的需要吗?

最佳答案

在将数据转换为网格形式之前,最好这样做:

>>> x = [0,4,17]
>>> y = [-7,25,116]
>>> z = [50,112,47]

>> data = np.column_stack([x, y, z])
array([[  0,  -7,  50],
       [  4,  25, 112], # <<----------------  Keep this
       [ 17, 116,  47]])
>>> data = data[data[:,2] == 112]  # points with z==112
array([[  4,  25, 112]])

然后,您可以使用griddata或给定的函数转换要打印的数据:
X, Y, Z = grid(data[0], data[1], data[2])

关于python - scipy.interpolate.griddata:剪切z值并在其中获取面积,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18499108/

10-12 18:51