按东西方向剪裁的底图(不环绕)

2024-09-29 21:47:06 发布

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

我有一个全球2.5度的数据字段(144,72)绘制在一个底图。我以为一切正常,直到我注意到地图在东西方向不是连续的。图片发布在

http://imgur.com/P2pjZC8

请注意,英国东部的截止线不会出现在底图的左侧。我肯定我在做傻事。我不确定是数据读取问题还是底图问题。谢谢。你知道吗

precipfile = "/Users/bolvin/oc.197901.sg"
num_lon = 144
num_lat = 72

fileobj = open(precipfile, mode='rb')

data = np.fromfile (fileobj, dtype ='f')

data.byteswap(True)

datat = np.reshape(data, (num_lon, num_lat), order = 'FORTRAN')

datamasked = np.ma.masked_where(datat < 0.0, datat)

my_cmap = matplotlib.colors.LinearSegmentedColormap('my_colormap',uneven_rgb)

my_cmap.set_bad('k', 0.8)

plt.figure(figsize = (20,10))

mapproj = Basemap(projection = 'cyl', llcrnrlat=-90.0, llcrnrlon=0.0, urcrnrlat=90.0, urcrnrlon=360.0)

mapproj.drawcoastlines()
mapproj.drawcountries()
mapproj.drawparallels(np.array([-90.0,-60.0,-30.0, 0.0, 30.0, 60.0, 90.0]), labels=[0,0,0,0])
mapproj.drawmeridians(np.array([0.0, 90.0, 180.0, 270.0, 360.0]), labels=[0,0,0,0])


myplot = plt.imshow(datamasked.T, interpolation = 'nearest', cmap = my_cmap, \
norm = matplotlib.colors.Normalize(vmin = 0.0, vmax = 20.0, clip = False), \
extent = (0.0, 360.0, -90.0, 90.0))

Tags: datamatplotlibmynpnumcmaploncolors

热门问题