antonv wrote: > Hi all, > > I have a weird thing happening with basemap and I am not sure if it's > basemap or me, but more than likely it's me :( > > Here is the grib file that I am using: > http://downloads.75ive.com/multi_1.20090321.t18z_multi_1.wc_10m.all.grb2 > http://downloads.75ive.com/multi_1.20090321.t18z_multi_1.wc_10m.all.grb2 > > And here is my code: > ############################################# > import matplotlib > import matplotlib.mpl as mpl > import matplotlib.pyplot as plt > import matplotlib.mlab as mlab > import numpy as np > import matplotlib.pylab as pylab > from mpl_toolkits.basemap import Basemap > from grib2 import Grib2Decode > > grbs = Grib2Decode('multi_1.20090321.t18z_multi_1.wc_10m.all.grb2') > > lats, lons = grbs[0].grid() > mapCoords = [32.35,-121.0,34.75,-116.75] > #mapCoords = [lats.min(),lons.min(),lats.max(),lons.max()] > > colorList = > [[0.,0.,205./255.],[0,102./255.,255./255.],[0,183./255.,255./255.],[0,224./255.,255./255.], > > [0,255./255.,255./255.],[0,255./255.,204./255.],[0,255./255.,153./255.],[0,255./255.,0], > > [153./255.,255./255.,0],[204./255.,255./255.,0],[255./255.,255./255.,0],[255./255.,204./255.,0], > > [255./255.,153./255.,0],[255./255.,102./255.,0],[255./255.,0,0],[176./255.,48./255.,96./255.], > [208./255.,32./255.,144./255.],[255./255.,0,255./255.]] > cmap = matplotlib.colors.ListedColormap(colorList, name = 'theColorMap', N = > len(colorList)) > > m = Basemap(projection='merc',lat_ts = 30,\ > > llcrnrlat=mapCoords[0],llcrnrlon=mapCoords[1],urcrnrlat=mapCoords[2],urcrnrlon=mapCoords[3],\ > resolution='h',area_thresh=0.5, suppress_ticks = True) > > fig = plt.figure(figsize=(14.58,10.58)) > fig.set_dpi(100) > > nlats, nlons = grbs[0].data().shape > > x = np.linspace(lons.min(),lons.max(),nlons) > y = np.linspace(lats.min(),lats.max(),nlats) > > X, Y = m(*np.meshgrid(x, y)) > > z = grbs[0].data().filled(1) > > m.contourf(X,Y,z,cmap=cmap,levels=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],extend='both') > > m.fillcontinents(color='green',lake_color='b') > m.drawcoastlines(color='k', linewidth=0.75) > m.drawcountries(color='k', linewidth=0.25) > m.drawstates(color='k', linewidth=0.25) > m.drawmapboundary(linewidth=1.0, color='k') > > plt.show() > ############################################# > > If you look at lines 14 and 15 you can see that i have a variable called > mapCoords that feeds the lat/lon coordinates to the basemap object. If i set > them up using the commented line (line 15) it will plot the map for all the > data in the file and it will display it correctly. If i use line 14 which is > the zoomed area that i am interested in it will display the basemap map > correctly zoomed in but it will not show the plotted data. Any ideas on what > is happening here? > > Also, if you have any comments on optimizing the code I would really > appreciate it! > > Thanks, > Anton > > Anton: Probably your data doesn't cover the zoomed region, but without actually having your data I can't be sure.
One question: why are you rebuilding the lons and lats from scratch when you already have them? It seems like you can get rid of nlats, nlons = grbs[0].data().shape x = np.linspace(lons.min(),lons.max(),nlons) y = np.linspace(lats.min(),lats.max(),nlats) X, Y = m(*np.meshgrid(x, y)) and replace it with X,Y = m(lons, lats) -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : jeffrey.s.whita...@noaa.gov 325 Broadway Office : Skaggs Research Cntr 1D-113 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg ------------------------------------------------------------------------------ This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users