【发布时间】:2017-01-03 19:38:35
【问题描述】:
我引用 this question 和 this documentation 试图将一组点(下图中的紫色点)转换为插值网格。
如您所见,图像缺少点应该的位置。我想知道它们在哪里。
import numpy as np
from scipy import interpolate
CIRCLES_X = 25 # There should be 25 circles going across
CIRCLES_Y = 10 # There should be 10 circles going down
points = []
values = []
# Points range from 0-800 ish X, 0-300 ish Y
for point in points:
points.append([points.x, points.y])
values.append(1) # Not sure what this should be
grid_x, grid_y = np.mgrid[0:CIRCLES_Y, 0:CIRCLES_X]
grid = interpolate.griddata(points, values, (grid_x, grid_y), method='linear')
print(grid)
每当我打印出网格的结果时,我的所有值都会得到 nan。
我哪里错了?我的问题甚至是interpolate.grid 的正确用例吗?
【问题讨论】:
-
您的“不完整网格”作为数据是什么样的?您的代码没有任何东西(也没有提示您遗漏的内容)。如果这是您的实际代码,这可能是答案:^)
-
@ivan_pozdeev 这就是上面的
points数组。 :) 坐标绝对不错。这段代码就是重现我的问题所需的全部内容(减去以点为单位的虚拟数据)。 -
不过,
points.append([points.x, points.y])没有任何意义。即使忽略它可能应该是point.x和.y的事实,您正在添加...本身的列表元素? -
伙计,您似乎完全不知道如何从数学角度解决您的问题,并希望
scipy能以某种方式神奇地为您解决这个问题。它不会。它只是一个工具。以一种毫无意义的方式应用它——你会得到一个结果,但却是一个毫无意义的结果。 -
无论如何,目前的情况是没有解决方案可以实现(所以这不是一个编程问题),甚至问题陈述也缺少一些重要元素。我概述了一些可以解决问题的方法,这些方法可以从给定的信息中得出,并且在没有为您完全解决问题的情况下看不到还能做什么(由于缺少信息,我无论如何都做不到)。跨度>
标签: python numpy scipy interpolation