Hi,
I'm having a problem using matplotlibs barbs function. I'm trying to
plot some wind barbs on a map created with basemap. My code is as
follows,
m =
Basemap(llcrnrlon=-35.0,llcrnrlat=40.0,urcrnrlon=10.0,urcrnrlat=68.0,resolution=‘i’,projection=‘lcc’,lon_0=-12.5,lat_0=54.0)
m.drawcoastlines() m.bluemarble() m.drawcoastlines() # draw parallels m.drawparallels(np.arange(40,68,5),labels=[1,0,0,0]) # draw meridians m.drawmeridians(np.arange(-35, 10, 5),labels=[0,0,0,1]) x, y = m(lons, lats) m.barbs(lons,lats,us,vs, barbcolor = 'r', flagcolor = 'r') plt.show() </small>
where x, y, us and vs are lists with shape (64,). I get the
following error,
ERROR: An unexpected error occurred while
tokenizing inputThe following traceback may be corrupted or invalid The error message is: ('EOF in multi-line statement', (382, 0))
ValueError Traceback (most recent
call last)
/home/davcra/python_scripts/plot_synops.py in <module>() 63 #m.plot(x,y,'ro', ms=5) 64 plt.suptitle(record['date']) ---> 65 m.barbs(x,y,us,vs, barbcolor = 'r', flagcolor = 'r') 66 #m.xlim(-35.0, 10.0) 67 #m.ylim(40.0, 68.0) /usr/lib64/python2.6/site-packages/mpl_toolkits/basemap/__init__.pyc
in barbs(self, x, y, u, v, *args, **kwargs)
2924 retnh =
ax.barbs(x,y,unh,vnh,*args,**kwargs)
2925 kwargs['flip_barb']=True -> 2926 retsh =
ax.barbs(x,y,ush,vsh,*args,**kwargs)
2927 try: 2928 plt.draw_if_interactive() /usr/lib64/python2.6/site-packages/matplotlib/axes.pyc in
barbs(self, *args, **kw)
5888 """ 5889 if not self._hold: self.cla() -> 5890 b = mquiver.Barbs(self, *args, **kw) 5891 self.add_collection(b) 5892 self.update_datalim(b.get_offsets()) /usr/lib64/python2.6/site-packages/matplotlib/quiver.pyc in
init(self, ax, *args, **kw)
776
self.set_transform(transforms.IdentityTransform())
777 --> 778 self.set_UVC(u, v, c) 779 780 __init__.__doc__ = """ /usr/lib64/python2.6/site-packages/matplotlib/quiver.pyc in
set_UVC(self, U, V, C)
952 953 def set_UVC(self, U, V, C=None): --> 954 self.u = ma.masked_invalid(U,
copy=False).ravel()
955 self.v = ma.masked_invalid(V,
copy=False).ravel()
956 if C is not None: /usr/lib64/python2.6/site-packages/numpy/ma/core.pyc in
masked_invalid(a, copy)
1976 condition = ~(np.isfinite(a)) 1977 if hasattr(a, '_mask'): -> 1978 condition = mask_or(condition, a._mask) 1979 cls = type(a) 1980 else: /usr/lib64/python2.6/site-packages/numpy/ma/core.pyc in
mask_or(m1, m2, copy, shrink)
1383 _recursive_mask_or(m1, m2, newmask) 1384 return newmask -> 1385 return make_mask(umath.logical_or(m1, m2),
copy=copy, shrink=shrink)
1386 1387 /usr/lib64/python2.6/site-packages/numpy/ma/core.pyc in
make_mask(m, copy, shrink, flag, dtype)
1265 # We won't return after this point to make sure
we can shrink the mask
1266 # Fill the mask in case there are missing data -> 1267 m = filled(m, True) 1268 # Make sure the input dtype is valid 1269 dtype = make_mask_descr(dtype) /usr/lib64/python2.6/site-packages/numpy/ma/core.pyc in
filled(a, fill_value)
406 """ 407 if hasattr(a, 'filled'): --> 408 return a.filled(fill_value) 409 elif isinstance(a, ndarray): 410 # Should we check for contiguity ? and
a.flags[‘CONTIGUOUS’]:
/usr/lib64/python2.6/site-packages/numpy/ma/core.pyc in
filled(self, fill_value)
2929 result = self._data.copy() 2930 try: -> 2931 np.putmask(result, m, fill_value) 2932 except (TypeError, AttributeError): 2933 fill_value = narray(fill_value,
dtype=object)
ValueError: putmask: mask and data must be the same size WARNING: Failure executing file: <plot_synops.py> </small>
Anyone know whats going on here??
Thanks in advance,
D