Viraj and Jeff -
Maybe one extension of Jeff’s answer.
The process works as long as x, y, and z are 2D arrays of the same size and shape.
Hence, x and y don’t have to form a rectangular grid.
I have used this feature regularly for conformal mapping.
And it makes a lot of sense.
The contour routine simply looks for intersections between x and y values.
Then when it plots it uses the x and y values in the arrays.
So when those are not a rectangular grid, it doesn’t care.
It’s a cool feature.
I can give an example if you want,
Mark
···
Viraj Vajratkar wrote:
hey guys… i got it… u can use contour(x,y,z)… as in
x=load(‘urfile1.dat’), y=load('urfile2.dat), z=load('urfile3.dat
')… and then type out the above… for details about the
parameters x,y,z see… .
http://www.scilab.org/product/man-eng/graphics/contour.htm … so
matplotlib CAN plot a contour from discrete points!!!.. ive tried it
and it works…
Viraj: That only works because x and y describe a rectangular grid. If
x and y described irregularly spaced points, you would need to grid the
data first using one of the methods described on that Cookbook page.
-Jeff
That is very cool, I hadn’t thought of it!
So what you’re saying is that any transformation (a complex distortion) of a regular rectangular grid is fine. The fact that the grid’s ‘pixels’ are four sided quadrilaterals satisfies this condition and the contour algorithm works…
Cheers,
Scott
“Mark Bakker” <markbak@…287…> 7/11/2007 11:36 >>>
Viraj and Jeff -
Maybe one extension of Jeff’s answer.
The process works as long as x, y, and z are 2D arrays of the same size and shape.
Hence, x and y don’t have to form a rectangular grid.
I have used this feature regularly for conformal mapping.
And it makes a lot of sense.
The contour routine simply looks for intersections between x and y values.
Then when it plots it uses the x and y values in the arrays.
So when those are not a rectangular grid, it doesn’t care.
It’s a cool feature.
I can give an example if you want,
Mark
Viraj Vajratkar wrote:
hey guys… i got it… u can use contour(x,y,z)… as in
x=load(‘urfile1.dat’), y=load('urfile2.dat), z=load('urfile3.dat
')… and then type out the above… for details about the
parameters x,y,z see… .
http://www.scilab.org/product/man-eng/graphics/contour.htm … so
matplotlib CAN plot a contour from discrete points!!!.. ive tried it
and it works…
Viraj: That only works because x and y describe a rectangular grid. If
x and y described irregularly spaced points, you would need to grid the
data first using one of the methods described on that Cookbook page.
-Jeff
Please find our Email Disclaimer here–>:
http://www.ukzn.ac.za/disclaimer
Mark Bakker wrote:
Viraj and Jeff -
Maybe one extension of Jeff's answer.
The process works as long as x, y, and z are 2D arrays of the same size and shape.
Hence, x and y don't have to form a rectangular grid.
I have used this feature regularly for conformal mapping.
And it makes a lot of sense.
The contour routine simply looks for intersections between x and y values.
Then when it plots it uses the x and y values in the arrays.
So when those are not a rectangular grid, it doesn't care.
It's a cool feature.
I can give an example if you want,
Mark
Viraj Vajratkar wrote:
> hey guys... i got it... u can use contour(x,y,z)... as in
> x=load('urfile1.dat'), y=load('urfile2.dat), z=load('urfile3.dat
> ').... and then type out the above.... for details about the
> parameters x,y,z see... .
> http://www.scilab.org/product/man-eng/graphics/contour.htm .... so
> matplotlib CAN plot a contour from discrete points!!!.... ive
tried it
> and it works...
Viraj: That only works because x and y describe a rectangular
grid. If
x and y described irregularly spaced points, you would need to
grid the
data first using one of the methods described on that Cookbook page.
-Jeff
Mark: That is cool - didn't know it could do that. So I guess the proper answer is contour requires x and y to describe a *regular*, but not recessarily rectilinear, grid. I should have known, since there is an example in basemap (ccsm_popgrid.py) that illustrates this.
-Jeff
···
--
Jeffrey S. Whitaker Phone : (303)497-6313
NOAA/OAR/CDC R/PSD1 FAX : (303)497-6449
325 Broadway Boulder, CO, USA 80305-3328