绘制投影数据时的撇取行为

时间:2014-02-18 20:24:04

标签: python matplotlib cartopy

我使用cartopy绘制我的地图。它是一个很棒的工具! 对于我的一些数据,我遇到的问题是数据没有正确映射到0deg或日期线。请参阅下面的示例。

我知道matplotlib.basemap中的相同功能,可以使用add_cyclic例程解决它。我想知道是否有人可以建议如何最好地解决这个问题。

谢谢!

亚历

Cartopy problem

2 个答案:

答案 0 :(得分:5)

在绘制这样的全局数据时,您总是需要为输入数据和坐标添加一个循环点。我不相信Cartopy目前包含了为您执行此操作的功能,但您可以暂时自行完成。假设您有1d经度数组和2d数据数组,其中第一个维度是纬度,第二个维度是经度:

import numpy as np

dlon = lons[1] - lons[0]
new_lons = np.concatenate((lons, lons[-1:] + dlon))
new_data = np.concatenate((data, data[:, 0:1]), axis=1)

如果您有不同形状的数据或坐标,则需要根据需要进行调整。

答案 1 :(得分:4)

cartopy开发团队在开发分支中包含了所需的功能。有关详细信息,请参阅here