Hey there,

I'm trying to plot a bunch-o-vectors, colored red or blue, depending on
whether their magnitude is positive or negative (they represent stresses),
and I'm doing something like this:

mag1 = evals[:,0]
ex1  = evecs[:,0,1]
ey1  = evecs[:,0,0]
C1 = np.where(mag1 >= 0, 'red', 'blue')

mag2 = evals[:,1]
ex2  = evecs[:,1,1]
ey2  = evecs[:,1,0]
C2 = np.where(mag2 >= 0, 'red', 'blue')

basemap_ax.quiver(np.degrees(calc_phis), np.degrees(np.pi/2.0-calc_thetas),
mag1*ex1,  mag1*ey1, C1, lw=0, width=0.002, scale=1e8)
basemap_ax.quiver(np.degrees(calc_phis), np.degrees(np.pi/2.0-calc_thetas),
mag2*ex2,  mag2*ey2, C2, lw=0, width=0.002, scale=1e8)
basemap_ax.quiver(np.degrees(calc_phis), np.degrees(np.pi/2.0-calc_thetas),
-mag1*ex1, -mag1*ey1, C1, lw=0, width=0.002, scale=1e8)
basemap_ax.quiver(np.degrees(calc_phis), np.degrees(np.pi/2.0-calc_thetas),
-mag2*ex2, -mag2*ey2, C2, lw=0, width=0.002, scale=1e8)

And it gives me the stack trace below...  I also tried just using plain-old
quiver (not via basemap) and got the same error.  I tried using rgba tuples
and grayscale strings as colors as well, and still got the same error.
Anybody have any idea what the deal is?  Or am I misunderstanding what *C*
is supposed to be (i.e. not just an array of colors, of the same length as
the number of vectors being plotted...)

/Library/Python/2.5/site-packages/mpl_toolkits/basemap/__init__.pyc in
quiver(self, x, y, u, v, *args, **kwargs)
   2877             ax.hold(h)
   2878         try:
-> 2879             ret =  ax.quiver(x,y,u,v,*args,**kwargs)
   2880             try:
   2881                 plt.draw_if_interactive()

/Library/Python/2.5/site-packages/matplotlib/axes.pyc in quiver(self, *args,
**kw)
   5850     def quiver(self, *args, **kw):
   5851         if not self._hold: self.cla()
-> 5852         q = mquiver.Quiver(self, *args, **kw)
   5853         self.add_collection(q, False)
   5854         self.update_datalim(q.XY)

/Library/Python/2.5/site-packages/matplotlib/quiver.pyc in __init__(self,
ax, *args, **kw)
    367                                             **kw)
    368         self.polykw = kw
--> 369         self.set_UVC(U, V, C)
    370         self._initialized = False
    371

/Library/Python/2.5/site-packages/matplotlib/quiver.pyc in set_UVC(self, U,
V, C)
    439         mask = ma.mask_or(U.mask, V.mask, copy=False, shrink=True)
    440         if C is not None:
--> 441             C = ma.masked_invalid(C, copy=False).ravel()
    442             mask = ma.mask_or(mask, C.mask, copy=False, shrink=True)
    443             if mask is ma.nomask:

/Library/Python/2.5/site-packages/numpy/ma/core.pyc in masked_invalid(a,
copy)
   1996     """
   1997     a = np.array(a, copy=copy, subok=True)
-> 1998     condition = ~(np.isfinite(a))
   1999     if hasattr(a, '_mask'):
   2000         condition = mask_or(condition, a._mask)

TypeError: bad operand type for unary ~: 'NotImplementedType'


-- 
Zane A. Selvans
Amateur Earthling
http://zaneselvans.org
+1 303 815 6866
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to