我现在有一个大约100x120二维纽比矩阵。索引指的是“坐标”,矩阵中的值是“高度”,我尝试使用pcolor绘制此数据,类似于此处显示的“二维样条线表示法”:
http://docs.scipy.org/doc/scipy-0.7.x/reference/tutorial/interpolate.html
我的问题是,虽然我所有的“坐标”和“高度”都是整数,但坐标并不是等距的。例如,只有特定的行包含数据(不是等距),并且每个包含数据的行对于每个其他条目都只有一个“height”值(对于每个包含数据的行,间距相同)。我的意思是一个简单的例子如下:
[[nan, 3, nan, 1, nan, 2],
[nan, nan, nan, nan, nan, nan],
[nan, 5, nan, 2, nan, 3],
[nan, nan, nan, nan, nan, nan],
[nan, nan, nan, nan, nan, nan],
[nan, nan, nan, nan, nan, nan],
[nan, 4, nan, 1, nan, 2]]
我一直试图遵循我链接到的插值/pcolor示例,但是没有成功。我的目标是在我所有的数据上有一个很好的连续的pcolor类型的绘图,用数据在点之间插值来填充这些nan。在
如果您能提供任何帮助,我将不胜感激。在
怎么了?您只需要提取具有值的单元格的索引,并将其传递给具有“height”值的插值函数。下面有一些代码可以做到这一点。在
结果如下:
请注意,这与矩阵的精确方向不匹配。为此,您必须将绘图的原点更改为位于左上角,并可能将数据转置。我把这个留给你练习。在
另外,获取非na值的索引的方法有点粗糙,所以也许其他人可以对此发表评论(感谢seberg的提示)。在
相关问题 更多 >
编程相关推荐