Dear all,

I am trying to plot some data (see attached data.txt) on global coverage with 1-degree resolution on the Robinson projection using Basemap. However I get some strange band on the high latitude, and imshow function by matplotlib does not show similar thing. Please refer to the two attached figures.

Could anyone give me some tips? thanks!!! Below is a working example:

import numy as np

import mpl_toolkits.basemap as bmp

import matplotlib.pyplot as plt

#The example file data.txt could be downloaded from dropbox:

https://www.dropbox.com/s/xma4w540qa83sa6/data.txt

## ···

#############

data=np.genfromtxt(‘data.txt’,usemask=True,missing_values=‘0.000000000000000000e+00’)

print np.ma.unique(data)

lev = np.arange(0.5,8.6,1)

print lev

### here we have to first build the equal-distance grid, this is inspired from here:

### http://matplotlib.1069221.n5.nabble.com/Basemap-plotting-data-on-projection-td40973.html

cyl_basemap = bmp.Basemap(projection=‘cyl’, llcrnrlat=-90, urcrnrlat=90,

llcrnrlon=-180, urcrnrlon=180, resolution=‘l’)

lon, lat = cyl_basemap.makegrid(360, 180)

fig,ax=plt.subplots(1,1)

m=bmp.Basemap(projection=‘robin’,lon_0=0,resolution=‘c’,ax=ax)

m.drawcoastlines()

x, y = m(lon, np.flipud(lat))

m.contourf(x,y,data=data,levels=lev)

#############################

Cheers,

Chao

–

please visit:

http://www.globalcarbonatlas.org/

Chao YUE

Laboratoire des Sciences du Climat et de l’Environnement (LSCE-IPSL)

UMR 1572 CEA-CNRS-UVSQ

Batiment 712 - Pe 119

91191 GIF Sur YVETTE Cedex

Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16