[Matplotlib-users] Pcolormesh vs contourf
sameer.grover.1 at gmail.com
Sat Jan 7 14:24:41 EST 2017
On 6 January 2017 at 06:50, Eric Firing <efiring at hawaii.edu> wrote:
> They are fundamentally different in what they do; this is most clear if
> you experiment with using both methods on a low-resolution field (say 10 by
> 12 points), and with a small number of contours (5 or 10). Contouring is
> most typically done with a moderate number of contours, maybe 30 or fewer.
> It is most immediately appropriate for data values at discrete points,
> since it is interpolating. pcolormesh does not interpolate, but shows the
> value in each quadrilateral as a block of solid color, so it is more like
> an image.
> There are data sets and situations for which either of the two methods can
> be appropriate, and other cases where one is clearly better than the
> other. For a somewhat noisy field, pcolormesh is usually better; it allows
> one to see the signal and the noise, and let one's eye pick out the
> former. Isolated extreme values are represented better with pcolormesh.
> For smoother fields and for seeing large-scale structure, contourf may be
> more appropriate.
> What kind of data are you plotting?
> On 2017/01/05 2:40 PM, Sameer Grover wrote:
>> I'd like to know about the difference between contourf and pcolormesh
>> and their intended uses. So far, I've been using contourf with a large
>> number of levels (150 - 200) to plot two dimensional data. Are their any
>> disadvantages of this and is pcolormesh better suited for this task?
>> As far as I can make out, contourf displays a "smoothened-out" image and
>> pcolormesh is more "boxy".
>> Matplotlib-users mailing list
>> Matplotlib-users at python.org
> Matplotlib-users mailing list
> Matplotlib-users at python.org
The data is usually around 1000 X 1000 large or smaller, mainly
experimental or theoretical data obtained by varying two independent
parameters. With a large number of contours, the visual output from them
doesn't look too different, especially if pcolormesh is used with gouraud
shading. But I realize they do things differently. Thank you for the
My only comment is that contourf(x,y,z) expects z of shape(size(y),
size(x)) whereas pcolormesh (x,y,z) expects z of shape (size(y)+1,
size(x)+1), for obvious reasons.
It would be nice if pcolormesh could adjust x and y so that the centres of
each quadrilateral is at the value of x and y, so that both functions could
be called in the same way.
It's not hard to do but something that could be considered if there are
enough use cases.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Matplotlib-users