Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project!

## matplotlib-users

 [Matplotlib-users] quiver with angles From: n.l.o - 2009-09-11 08:30:12 ```Im a bit confused of how I should use the "quiver" plotting function. My data is 2D, a 512x512 data array, where every entry is an angle (polarimetry). I also have an array with the degree of polarization which would be nice to colour-code in to the arrows. So: How do I use my angles to control the direction of the arrows, and how do I get values to control the colour of the arrows? Cheers, Magnus -- View this message in context: http://www.nabble.com/quiver-with-angles-tp25397027p25397027.html Sent from the matplotlib - users mailing list archive at Nabble.com. ```
 Re: [Matplotlib-users] quiver with angles From: Eric Firing - 2009-09-11 21:28:05 ```n.l.o wrote: > Im a bit confused of how I should use the "quiver" plotting function. > > My data is 2D, a 512x512 data array, where every entry is an angle > (polarimetry). > I also have an array with the degree of polarization which would be nice to > colour-code in to the arrows. > So: > How do I use my angles to control the direction of the arrows, and how do I > get values to control the colour of the arrows? > > Cheers, > Magnus > Example with ipython -pylab: x = arange(4) y = arange(5) X, Y = meshgrid(x, y) u = ones_like(X) v = zeros_like(X) c = arange(u.size) # values mapped to colors angles = (X * 20 + Y * 20).ravel() quiver(X, Y, u, v, c, angles=angles) axis([-1, 4, -1, 5]) The .ravel() of the angles is to get around a bug that I fixed a few minutes ago in svn. Eric ```
 Re: [Matplotlib-users] quiver with angles From: magnus_p - 2009-09-13 10:40:48 ```I tried the code you supplied and I didn't get it to work with the *angles* keyword, I got: "ValueError: shape mismatch: objects cannot be broadcast to a single shape" I have matplotlib.__version__ = '0.98.5.2'. Although after thinking about it for a while I did: from scipy import * import matplotlib.pyplot as plt X,Y = meshgrid(arange(64),arange(64)) # a bit bigger just to see what it looks like angles = arange(0,4*pi,4.*pi/X.size) # just creating a set of angles u = cos(angles) v = sin(angles) c = arange(u.size) # the colours! c.shape = X.shape plt.quiver(X, Y, u, v, c, pivot='middle',minlength=0.04, width=0.05, headwidth=1,scale=50) that is, the angles are converted to "u" and "v" parameters. Anyway. That is how I got it working. efiring wrote: > > > Example with ipython -pylab: > > x = arange(4) > y = arange(5) > X, Y = meshgrid(x, y) > u = ones_like(X) > v = zeros_like(X) > c = arange(u.size) # values mapped to colors > angles = (X * 20 + Y * 20).ravel() > quiver(X, Y, u, v, c, angles=angles) > axis([-1, 4, -1, 5]) > > > The .ravel() of the angles is to get around a bug that I fixed a few > minutes ago in svn. > > Eric > > > ------------------------------------------------------------------------------ > 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@... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > -- View this message in context: http://www.nabble.com/quiver-with-angles-tp25397027p25422103.html Sent from the matplotlib - users mailing list archive at Nabble.com. ```