Michael Roettger wrote:
> Hi all,
>
> maybe I've misunderstood something concerning masking or quiver plots:
> I want to exclude some data from a quiver plot. Here's an example:
>
> --------------------8<----
> import numpy as N
> import pylab as pl
> import matplotlib.numerix.ma as ma
>
> # prepare data
> X,Y = pl.meshgrid(range(5),range(5))
> angles = pl.rand(5,5)
> U = N.cos(angles)
> V = N.sin(angles)
>
> # prepare mask
> M = N.zeros((5,5), dtype='bool')
> M[2,2] = True
>
> # apply mask
> Um = ma.masked_array(U,mask=M)
> Vm = ma.masked_array(V,mask=M)
>
> # plot
> pl.quiver(X,Y,Um,Vm)
> # pl.plot(range(5),Um[2],'x')
>
> pl.show()
> ---------------------->8----
>
> Using the commented 'plot' command works as expected, but 'quiver' results in
> empty axes. If I take U,V instead of Um,Vm, the arrows are drawn ..
> What am I doing wrong or is there another way to exclude arrows from being
> plotted?
>
>   Thank you in advance,
>
>     Michael
>
>   

Michael:  I've fixed this now in svn.  If you don't want to update to 
svn trunk, you can make this simple change in quiver.py

--- lib/matplotlib/quiver.py    (revision 6046)
+++ lib/matplotlib/quiver.py    (working copy)
@@ -334,6 +334,12 @@
     def __init__(self, ax, *args, **kw):
         self.ax = ax
         X, Y, U, V, C = self._parse_args(*args)
+        if C is not None:
+            X, Y, U, V, C = 
delete_masked_points(X.ravel(),Y.ravel(),U.ravel(),
+                                                 V.ravel(),C.ravel())
+        else:
+            X, Y, U, V = 
delete_masked_points(X.ravel(),Y.ravel(),U.ravel(),
+                                              V.ravel())
         self.X = X
         self.Y = Y
         self.XY = np.hstack((X[:,np.newaxis], Y[:,np.newaxis]))


-Jeff

-- 
Jeffrey S. Whitaker         Phone  : (303)497-6313
Meteorologist               FAX    : (303)497-6449
NOAA/OAR/PSD  R/PSD1        Email  : [EMAIL PROTECTED]
325 Broadway                Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web    : http://tinyurl.com/5telg


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to