The easiest would be using a masked array.
arr = np.arange(100).reshape((10,10))
iny, inx = np.indices(arr.shape)
mymask=inx+iny>=10
imshow(np.ma.array(arr, mask=mymask), cmap="gray")
imshow(np.ma.array(arr, mask=~mymask), cmap="jet")
However, I recommend you to use the clippath.
http://matplot
imshow fills an entire "unit" in the grid. I'd like to overlay two
imshow's on top of each other, but in a non-destructive manner. One
way of doing this would be to modify the behavior of imshow so that it
only fills a portion of each "unit" in the grid. For example, in the
first imshow, I'd fil