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