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
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users