I just hit a problem with using quiver with Basemap when when
angles='xy'. Because Basemap's x,y units are in meters, you end up
with angles that are quantized due to floating point truncation
(30000. + 0.001*u = 30000.). Changing to angles='uv' fixes the
problem, but it probably should be automatically scaled, as noted in
elif self.angles == 'xy' or self.scale_units == 'xy':
# We could refine this by calculating eps based on
# the magnitude of U, V relative to that of X, Y,
# to ensure we are always making small shifts in X, Y.
I managed to fix the problem locally by setting:
angles, lengths = self._angles_lengths(U, V, eps=0.0001 *
but I'm not sure if you would want a different fix. If you're happy
with this fix, I'll go ahead an check in.
Graduate Research Assistant
School of Meteorology
University of Oklahoma