Plotting vector fields in python (matplotlib)


Question

I found this code on http://matplotlib.sourceforge.net/examples/pylab_examples/quiver_demo.html

from pylab import *
from numpy import ma

X,Y = meshgrid( arange(0,2*pi,.2),arange(0,2*pi,.2) )
U = cos(X)
V = sin(Y)

#1
figure()
Q = quiver( U, V)
qk = quiverkey(Q, 0.5, 0.92, 2, r'$2 \frac{m}{s}$', labelpos='W',
               fontproperties={'weight': 'bold'})
l,r,b,t = axis()
dx, dy = r-l, t-b
axis([l-0.05*dx, r+0.05*dx, b-0.05*dy, t+0.05*dy])

title('Minimal arguments, no kwargs')

Now, how can I see this graphic? Better yet, how can I save it to a file as, let's, say, JPEG? The code seems to run but I can't see anything happening.

1
9
12/3/2009 9:53:43 PM

Accepted Answer

Stick show() at the end of the script. Or to save it to a jpg file, put

savefig('output.jpg')
show()

Be sure to put the savefig() command before the show().

5
12/3/2009 10:01:34 PM

Ideally, you would type this in an interactive shell ( like EPD Python's PyLab ) . Otherwise, you need to explicitly invoke the show() command


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon