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