Python 按东西方向剪裁的底图(不包裹)

Python 按东西方向剪裁的底图(不包裹),python,python-2.7,matplotlib,matplotlib-basemap,Python,Python 2.7,Matplotlib,Matplotlib Basemap,我有一个全局2.5度的数据场(144,72)绘制在一个底图上。我以为一切正常,直到我注意到地图在东西方向不是连续的。图片发布在 请注意,英国东部的截止线不显示在底图的左侧。我肯定我在做傻事。我不确定这是数据读取问题还是基线图问题。谢谢 precipfile = "/Users/bolvin/oc.197901.sg" num_lon = 144 num_lat = 72 fileobj = open(precipfile, mode='rb') data = np.fromfile (fi

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

请注意,英国东部的截止线不显示在底图的左侧。我肯定我在做傻事。我不确定这是数据读取问题还是基线图问题。谢谢

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))
precipfile=“/Users/bolvin/oc.197901.sg”
num_lon=144
数值=72
fileobj=open(precipfile,mode='rb')
data=np.fromfile(fileobj,dtype='f')
data.byteswap(真)
datat=np.重塑(数据,(num_lon,num_lat),顺序='FORTRAN')
datamasked=np.ma.masked_其中(datat<0.0,datat)
my_cmap=matplotlib.colors.LinearSegmentedColormap('my_colormap',凹凸不平的\u rgb)
我的cmap设置错误('k',0.8)
plt.图(figsize=(20,10))
mapproj=基本地图(投影='cyl',llcrnrlat=-90.0,llcrnrlon=0.0,urcrnrlat=90.0,urcrnrlon=360.0)
mapproj.绘制海岸线()
mapproj.drawcountries()
mapproj.drawparallels(np.array([-90.0,-60.0,-30.0,0.0,30.0,60.0,90.0]),标签=[0,0,0,0])
mapproj.DrawMeridian(np.数组([0.0,90.0,180.0,270.0,360.0]),标签=[0,0,0,0])
myplot=plt.imshow(datamasked.T,插值='nearest',cmap=my_cmap\
norm=matplotlib.colors.Normalize(vmin=0.0,vmax=20.0,clip=False)\
范围=(0.0,360.0,-90.0,90.0))

我回答了自己的问题。显然,默认分辨率='c'完全抹杀了英国东部。将分辨率设置到下一个级别“l”是有效的