gpt4 book ai didi

python - 使用 pcolormesh 绘制轨道数据

转载 作者:行者123 更新时间:2023-11-28 18:51:26 26 4
gpt4 key购买 nike

我正在尝试映射具有相关纬度和经度的数据集。我正在使用的数据的详细信息如下:

Variable   Type       Data/Info
-------------------------------
lat ndarray 1826x960, type `float64`
lon ndarray 1826x960, type `float64`
data ndarray 1826x960, type `float64`

然后我创建了一个 basemap :

m = Basemap(projection='cyl', llcrnrlon=-180, urcrnrlon=180, llcrnrlat=-40, urcrnrlat=40, resolution='c')

现在,在创建的 basemap 上,我将使用 pcolormesh 绘制上述数据集:

m.drawcoastlines()
m.drawcountries
x,y = m(lon,lat)
m.pcolormesh(x,y,data)
m.colorbar()
plt.show()

这给出了下图: Temp Brightness plot

但是如果我在覆盖整个经度范围(-180 到 180)的数据集(大小为 2691x960,同样适用于经度和纬度)上执行类似的绘图,我会得到一个“奇怪的条”: strange bar

我很确定奇怪的条是由于数据集的重叠而出现的。同样的情节已在 matlab 中执行,并且效果很好。

请告诉我问题是什么,可以做什么来删除条形图,在 python 中绘制此类数据的其他方法是什么。

最佳答案

我认为您遇到了我之前遇到的问题。这里的问题是,当 basemap 尝试创建多边形时,它使用的插值方法似乎无法正确处理本初子午线。实际上穿过本初子午线的像素被插值到一个环绕地球延伸的多边形中。

我使用的解决方案是将文件分成两个屏蔽数组(或者只是在不同时间以两种不同方式屏蔽原始数组),一个屏蔽东半球,一个屏蔽西半球,然后映射它们都指向同一个轴对象。

编辑:另一种解决方案可能是让您的经度范围从 -179.99 变为 179.99 或类似值。

关于python - 使用 pcolormesh 绘制轨道数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com