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()


where x, y, us and vs are lists with shape (64,). I get the following error,

   ERROR: An unexpected error occurred while tokenizing input
   The 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>

Anyone know whats going on here??
Thanks in advance,
D


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to