通过底图,matplotlib从数据绘制海图线

时间:2014-06-12 01:45:40

标签: python matplotlib matplotlib-basemap

考虑到其他人的例子,我试图解决这个问题。但是,我仍然无法获得我想要的结果。我得到的结果是没有海岸线或没有海岸线,没有数据图(我使用了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)是2 d数组,我刚刚尝试了pcolor的那些值而不是makegrid的x1和y1。然而,那时,我看不到任何海岸线,只有温度pcolor图。从上面的代码中,我只能在整个情节中看到红色。

任何想法或帮助都会非常感激。

谢谢,

艾萨克

1 个答案:

答案 0 :(得分:1)

如评论中所述,drawcoastlines()函数应在pcolor()函数之后调用,以便线条覆盖着色,而不是反之亦然。