I downloaded examples/contour_demo.py, and it doesn't run. I've searched both the user guide and the Wiki for "contour" and got zero hits.
http://matplotlib.sourceforge.net/matplotlib.pylab.html#-contour appears to be a good reference if you already know how to use contour(), but I could glean zero clues from it on how to actually use contour(). For example, it doesn't explain what the actual formats/types of the parameters. It explains what the parameters do, but not what they _are_ For example one parameter is specied as "an array". No clue as to how many dimensions or what the axis are. In another place it says "the X,Y parameters specify the (x,y) coordinates of a surface". _How_ do they specify the surface? Are they just equal length lists of x and y coordinates that specify len(X) points. Or do they specify a len(X) x len(Y) grid of points? Since I can't find any documentation, I thought I'd just try a few things. I've got X,Y,Z values in an Nx3 array named "data" that looks like this: X Y Z [[ 4.94958000e+01 3.65706000e+00 1.84600000e-01] [ 4.94958000e+01 3.66447000e+00 1.82142000e-01] [ 4.94958000e+01 5.04936000e+00 1.90937000e-01] ..., [ 2.19844000e+03 9.74210000e+00 8.29735000e-01] [ 2.19844000e+03 9.93863000e+00 9.82307000e-01] [ 2.19844000e+03 1.03143000e+01 8.28844000e-01]] If I just pass the array to contour() by doing "pylab.contour(data)" I get this error: Traceback (most recent call last): File "./surfplot.py", line 11, in ? pylab.contour(data) File "/usr/lib/python2.4/site-packages/matplotlib/pylab.py", line 1659, in contour ret = gca().contour(*args, **kwargs) File "/usr/lib/python2.4/site-packages/matplotlib/axes.py", line 1244, in contour return self._contourHelper.contour(*args, **kwargs) File "/usr/lib/python2.4/site-packages/matplotlib/contour.py", line 727, in contour x, y, z, lev = self._contour_args(False, badmask, origin, extent, *args) File "/usr/lib/python2.4/site-packages/matplotlib/contour.py", line 544, in _contour_args lev = self._autolev(z, 7, filled, badmask) File "/usr/lib/python2.4/site-packages/matplotlib/contour.py", line 471, in _autolev lev = linspace(zmin, zmax, N+2)[1:-1] File "/usr/lib/python2.4/site-packages/matplotlib/mlab.py", line 87, in linspace dx = (xmax-xmin)/(N-1) TypeError: unsupported operand type(s) for -: 'str' and 'str' I've no clue what that means. Well, I know what the TypeError means _literally_, but I've no idea how I'm supposed to interpret that particular error in regards to what I passed to contour(). Attempting to use one of the other forms found on the above web page I pass X,Y,Z vectors to contour() by doing "pylab.contour(data[:,0],data[:,1],data[:,2])": Traceback (most recent call last): File "./surfplot.py", line 13, in ? pylab.contour(data[:,0],data[:,1],data[:,2]) File "/usr/lib/python2.4/site-packages/matplotlib/pylab.py", line 1659, in contour ret = gca().contour(*args, **kwargs) File "/usr/lib/python2.4/site-packages/matplotlib/axes.py", line 1244, in contour return self._contourHelper.contour(*args, **kwargs) File "/usr/lib/python2.4/site-packages/matplotlib/contour.py", line 727, in contour x, y, z, lev = self._contour_args(False, badmask, origin, extent, *args) File "/usr/lib/python2.4/site-packages/matplotlib/contour.py", line 539, in _contour_args x,y,z = self._check_xyz(args[:3]) File "/usr/lib/python2.4/site-packages/matplotlib/contour.py", line 515, in _check_xyz raise TypeError("Input z must be a 2D array.") TypeError: Input z must be a 2D array. Which is almost as cryptic a result as my first attempt. Why would my Z values be a 2D array? -- Grant Edwards grante Yow! My NOSE is NUMB! at visi.com -- http://mail.python.org/mailman/listinfo/python-list