colormap cleverness

I would like to create a colormap that plots a particular value in a specific color but is otherwise normal.
So far I haven't been smart enough to figure out how to do this. For example, imagine an image with missing
data. The missing data has some sentinel value e.g. -1, which I can set to be outside the range of the rest of the image.
I want the missing data to plot is a specific color unrelated to the colormap for the rest of the image. Like I said,
I haven't been clever enough to figure it out. This is sort of similar behavior to masked arrays in pcolor, but I
would like to use imshow if possible. Perhaps a custom normalization to compress a given colormap and
map the sentinel to a boundary value which has discontinuous segment? Any ideas would be appreciated.