通过basemap,matplotlib根据数据在绘图上绘制海岸线

2024-05-15 19:22:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着以别人的例子来解决这个问题。但是,我还是得不到我想要的结果。我得到的结果是没有海岸线或没有海岸线,没有数据图(我用pcolor)

我使用的数据是通过感兴趣区域的netcdf文件。因为数据本身没有边界信息,我想在这张图上画出海岸线。 我的代码如下:

Temp_plt =  Temp[18,:,:]
Lon_plt = Lon[18,:,:]
Lat_plt = Lat[18,:,:]
lons       = Lon_plt[0]
lats       = Lat_plt[0]
lat_min = min(lats)
lat_max = max(lats)
lon_min = min(lons)
lon_max = max(lons)
Temp_c = Temp_plt-273.15
m = Basemap(
        projection = 'merc',
        llcrnrlat=lat_min, urcrnrlat=lat_max,
        llcrnrlon=lon_min, urcrnrlon=lon_max,
        resolution='h', area_thresh=0.01
    )

m.drawcoastlines()
lon, lat= m.makegrid(Temp_plt.shape[1],Temp_plt.shape[0])
x1, y1 = m(lon,lat)
myPLT = m.pcolor(x1,y1,Temp_c)

因为我的经度(Lon_plt)和纬度(Lat_plt)是二维数组,所以我只尝试了pcolor的这些值,而不是makegrid中的x1和y1。然而,在那个时候,我看不到任何海岸线,只有温度图。从上面的代码,我只能看到红色的整个情节。在

任何想法或帮助都将不胜感激。在

谢谢你

艾萨克


Tags: 数据pltmintempmaxlonx1海岸线