matplotlib / basemap

Plot on map projections (with coastlines and political boundaries) using matplotlib
MIT License
779 stars 392 forks source link

Contouring bug on lcc projection #377

Open rclare2 opened 7 years ago

rclare2 commented 7 years ago

This same issue is occurring for all data types. Quite often, though not always, one of any of the contoured data will spike sharply downward away from the rest of the contour (seen below in the yellow data). This happens quite often in the middle of the domain. I doubt this is a problem with the data themselves or my analysis since this error makes the contour line cross other contour lines of the same data. If there were just an anomaly at the bottom of the domain, I would expect there to just be a gradient with the contouring toward it. This makes me think that the problem is all in the plotting.

slp-007

Here's the plotting portion of my code. `

Plotting

fig = figure()
map = Basemap(llcrnrlon=-120.,llcrnrlat=20.,urcrnrlon=-50.,urcrnrlat=50.,\
            rsphere=(6378137.00,6356752.3142),\
            resolution='l',projection='lcc',\
            lat_0=40.,lon_0=-98.,\
            lat_1=30.,lat_2=60.)

#Draw geographical boundaries
map.drawcoastlines(color='red',linewidth=0.75)
map.drawstates(color='red',linewidth=0.75)
map.drawcountries(color='red',linewidth=0.75)
map.fillcontinents(color='black',lake_color='black')
map.drawmapboundary(fill_color='black')

#Create X-Y plane for contouring and filling on map
X,Y = map(asarray(longitude_grid), asarray(latitude_grid))

#1st Variable#
#------------#

levels = linspace(700., 1200., 126)         #4 mb levels for SLP 
cs = map.contour(X,Y,var,2,colors='c',linewidths=1.,levels=levels)
clabel(cs, fmt="%1.0f", fontsize=8, inline=1)   

#2nd Variable#
#------------#

levels = linspace(0.,12000.,241)            #50 m levels for thickness/height
cs = map.contour(X,Y,contr,2,colors='y',linewidths=0.75,levels=levels)
clabel(cs, fmt="%1.0f", fontsize=8, inline=1)

#Snow Contour#
#------------#

cs = map.contour(X,Y,snow,2,colors='w',linewidths=2.,levels=[0.,1.])

title('%s SLP [Blu] and 800-500 mb Height [Ylo] over Snow Line [Wht]' % times[i])

savefig('temp_plot%03d.jpg' % i)

`