[SciPy-user] Re: Contour plots
Bryan Cole
bryan.cole at teraview.com
Tue Jun 8 05:43:21 CDT 2004
On Mon, 07 Jun 2004 16:14:35 +0200, Nils Wagner wrote:
> Dear experts,
... doesn't apply to me.
> I want to compute
>
> f(x,y) = log(abs(det(A(x+1j*y))))
>
> over a grid of x,y.
>
> How can I contour the result within scipy or matplotlib ?
>
I struggled with this a while back. You can plot pixmaps from 2D array
data using either scipy.plt or matplotlib, but I don't think you can get
contours. gplt (Gnuplot) can generate contours in 3D plots but I can't see
a way to get a contour plot on 2D axes. Gist can do contours but
scipy.xplt is unix-only and anyway, I couldn't get scipy.xplt to compile
on my FC2-linux machine, so havn't tried it myself.
There is a separate python interface to gist, PyGist
(http://bonsai.ims.u-tokyo.ac.jp/~mdehoon/software/python/pygist-1.5.18a.tar.gz)
which works well. I've just been experimenting with it and it looks the
best out-the-box plotting solution for contours so far. PyGist is also
available for win32. The Gist command set is rather cryptic, however;
matplotlib is much easier for normal 2D graphs IMHO.
There's a PyGist example below.
Bryan
-------------------------
from gist import *
winkill(0)
window(0, wait=1, style='boxed2.gs')
ij = indices((20,20))/20.0 #make a grid
x = ij[0]
y = ij[1]
def f(x,y): #or the function of your choice...
return sin(x**2) + cos(y**2)
z = f(x,y)
plc(z, y, x) #makes contour plot
raw_input() #to stop python exiting
More information about the SciPy-user
mailing list