matplotlib pyplot contourf with 1-D array (vector)

becky_s rda.selin at
Thu Aug 26 14:58:14 CEST 2010

On Aug 26, 1:52 am, Dennis Lee Bieber <wlfraed at> wrote:
> On Wed, 25 Aug 2010 14:57:33 -0700 (PDT), becky_s <rda.selin at>
> declaimed the following in gmane.comp.python.general:
> > px,py = p(mesolon, mesolat)
>         For my elucidation, what does that      p(x,y)  actually do? Especially
> as you appear to expect the result to be split into separate x and y
> afterwards? I can't find it defined in either matplotlib nor numpy.

p was declared as a basemap object in the previous statement, which
sets up a map projection.  Calling p(mesolon, mesolat) converts those
lons, lats to units in that map projection and stores them in px,py.
for more info on basemap.)

> > pyplot_api.html#matplotlib.pyplot.contourf) I thought that as long as
> > px, py, and rain are the same dimensions, everything should be fine.
>         And are they? You don't demonstrate that you've checked for that

I did a simple print px.shape, rain.shape, etc. to check.  They are
all size (135,).

> > Apparently that is not the case?  If 1D arrays are not allowed in
> > contourf, then how can I change my data into a 2D array?
>         Also note (jumping to your follow up) that contourf is described as
> having a potential problem with masked arrays (whatever those are) for
> "Z"

My problem isn't with the masked arrays as much as it is with rain
being a 1D array.  IDL can handle contouring 1D arrays with missing
variables lickety-split, so I was really hoping Python could as well.

Also, is the masked array library.  See

More information about the Python-list mailing list