如何将contourf(basemap python)与一系列非';t空间连续

如何将contourf(basemap python)与一系列非';t空间连续,python,arrays,numpy,matplotlib-basemap,contourf,Python,Arrays,Numpy,Matplotlib Basemap,Contourf,我有一个数据系列(天气雷达),我正试图用python中的basemap绘制它。绘制原始数据很容易;我使用网格网格和lat/lon点,将这些二维数据数组输入到contourf的前两个参数中,并将数据矩阵(与lat/lon的维数相同)输入到第三个参数中 我的问题;然后我想对数据进行一些操作。我将lat/lon/data数组展平,从所有三个数组中取出空值,最后将数据反馈到三个向量中——lat、lon和data。当行对齐时(例如,lat/lon的每个索引与数据向量中的该索引对齐),它们是随机顺序的 我想

我有一个数据系列(天气雷达),我正试图用python中的basemap绘制它。绘制原始数据很容易;我使用网格网格和lat/lon点,将这些二维数据数组输入到contourf的前两个参数中,并将数据矩阵(与lat/lon的维数相同)输入到第三个参数中

我的问题;然后我想对数据进行一些操作。我将lat/lon/data数组展平,从所有三个数组中取出空值,最后将数据反馈到三个向量中——lat、lon和data。当行对齐时(例如,lat/lon的每个索引与数据向量中的该索引对齐),它们是随机顺序的

我想把它反馈到contourf中,但我不确定如何将数据解包回初始阵列。有没有办法用contourf绘制纯lat/lon/数据对?如果我有初始的二维lat/lon网格阵列,根据我的算法给出的三个向量,用我的数据填充新的二维阵列的最简单方法是什么(使用Numpy)

例如:

原始lat/lon网格:

lat = [
        [44.1, 44.1, 44.1],
        [44.2,44.2,44.2],
        [44.3,44.3,44.3]
]
lon = [
        [-67.2,-67.3,-67.4],
        [-67.2,-67.3,-67.4],
        [-67.2,-67.3,-67.4]
]
我需要输入contourf的数据:

data = [
        [3,nan,nan],
        [nan,2,nan],
        [nan,nan,7]
]

有什么想法吗?这比我想象的要容易。

如果仍然需要,您能否发布一些代码,先绘制轮廓,然后再绘制更改后的问题?您只需要查找
lat,lon=np.meshgrid(lat,lon)
data=np.diag(data)
?这对于非常庞大的数据集来说非常困难。
data = [
        [3,nan,nan],
        [nan,2,nan],
        [nan,nan,7]
]