Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Rightclick on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
From: Jeff Whitaker <jswhit@fa...>  20090827 11:57:14

Christian Meesters wrote: > Hi, > > I have a 2D masked array, created like: > > import numpy as np > data = np.ma.array(data, mask=[data == 'NA']) > > which I would like to plot as a heatmap. > > import pylab > > pylab.pcolor(data) > or > pylab.pcolormesh(data) > > Well, it works with any array, but not if masked values are in there. > Can somebody supply me with a snippet, as I apparently don't get the > relevant piece in the docs (or did not find it ;) ). > > TIA > Christian > > Christian: That should work, if you created the masked array correctly. Why are you creating the mask with data=='NA'? I suspect that this always evaluates to False, so you don't get a mask. You probably want to check for a numeric value, not a string. For example: import matplotlib.pyplot as plt import numpy as np def func3(x,y): return (1 x/2 + x**5 + y**3)*np.exp(x**2y**2) dx, dy = 0.05, 0.05 x = np.arange(3.0, 3.0001, dx) y = np.arange(3.0, 3.0001, dy) X,Y = np.meshgrid(x, y) Z = func3(X, Y) Z = np.ma.array(Z, mask=Z>0.5) plt.pcolor(Z) plt.show() Jeff 