将径向距离与 python 上的 2D 网格相关联



我有两个一维数组。一个包含温度,另一个包含径向距离(针对每个相应的温度)。我想使用此信息生成热图类型图。这是我遇到问题的地方:1. 如果我创建一个 2D 数字网格,如何将径向距离与每个网格相关联?假设径向距离是 5 个单位,如何找到距离中心 5 个单位的所有网格正方形?2.那么我如何将每个温度与其各自的网格点集相关联。因此,假设温度在径向距离为 20 处为 5 度,我如何表示它在以下一组 x,y 网格正方形处为 20 度?

感谢您的任何帮助。

meshgrid是你的朋友。 首先设置网格加上xy坐标网格(您将有两个 5 x 5 数组):

import numpy as np
x, y = np.meshgrid(np.arange(-2, 3), np.arange(-2, 3))
heatmap = 0 * x  # easy way to get shape right

现在,伪造一些数据:

r = np.array((0, 0.5, 1.5, 2.5))  # Your radial distance
T = np.array((100, 90, 70, 40))   # Your temperature at distance

内到外叠加数据,从中间开始(假设r单调递增):

r2 = r**2
xy2 = x**2 + y**2
for ii in range(r.size):
   heatmap[np.where(xy2 >= r2[ii])] = T[ii]

就是这样。 下面是生成的热图:

array([[ 40,  70,  70,  70,  40],
       [ 70,  90,  90,  90,  70],
       [ 70,  90, 100,  90,  70],
       [ 70,  90,  90,  90,  70],
       [ 40,  70,  70,  70,  40]])

相关内容

  • 没有找到相关文章

最新更新