From: Benjamin R. <ben...@ou...> - 2014-06-26 14:52:47
|
don't know if this would make a difference, but meshgrid here is completely unnecessary given that the netcdf file has the lats and lons in 2 dimensions anyway. Given that this is a polar projection, I wouldn't be surprised if there is something wonky there. Are the longitudes and latitudes monotonic? Cheers! Ben Root On Thu, Jun 26, 2014 at 4:42 AM, billyi <bil...@ho...> wrote: > Hi all! I'm trying to plot some sea ice freeboard data (netCDF, Gridded > total > freeboard) on the Antarctic sea, but the data that should plot nicely > around > Antarctica lies at the bottom of my image. NetCDF and matplotlib are fairly > new to me so I'm not quite sure, where the error could be and I feel like > I've search and tried everything there is. > <http://matplotlib.1069221.n5.nabble.com/file/n43580/bad_fb.png> > > from scipy.io.netcdf import netcdf_file as Dataset > import numpy as np > import matplotlib.pyplot as plt > > FB = Dataset('./datasets/fb-0217-0320.nc', 'r') > f = FB.variables['f'][:,:] > lat = FB.variables['lat'][:,0] > lon = FB.variables['lon'][0,:] > masked_fb = np.ma.masked_where(np.isnan(f), f) > mtx_lon, mtx_lat = np.meshgrid(lon, lat) > m = Basemap(projection='spstere',boundinglat=-50, lon_0=180., > resolution='l') > m.bluemarble() > > plt.figure() > m.pcolormesh(mtx_lon, mtx_lat, masked_fb, latlon=True) > plt.show() > > And ncdump gives: > dimensions: > x = 79 ; > y = 83 ; > variables: > float lat(y, x) ; > lat:standard_name = "latitude" ; > lat:long_name = "latitude coordinate" ; > lat:units = "degrees_north" ; > float lon(y, x) ; > lon:standard_name = "longitude" ; > lon:long_name = "longitude coordinate" ; > lon:units = "degrees_east" ; > float f(y, x) ; > f:long_name = "total_freeboard" ; > f:units = "mm" ; > f:coordinates = "lat lon" ; > > Could there be something funny with the projection or handling the data? > (When using meshgrid, handling the coordinates like ['lat'][:,0] seems > necessary, otherwise it turns lats and lons like (6557,6557) and gives > error > message for pcolormesh, since masked_fb is (83,79).) > > > > -- > View this message in context: > http://matplotlib.1069221.n5.nabble.com/Data-plotting-in-a-wrong-place-tp43580.html > Sent from the matplotlib - users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Open source business process management suite built on Java and Eclipse > Turn processes into business applications with Bonita BPM Community Edition > Quickly connect people, data, and systems into organized workflows > Winner of BOSSIE, CODIE, OW2 and Gartner awards > http://p.sf.net/sfu/Bonitasoft > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |