How to redefine a color for a specific value in a matplotlib colormap How to redefine a color for a specific value in a matplotlib colormap python python

How to redefine a color for a specific value in a matplotlib colormap


You can also use set_under which I think makes more semantic sense than using set_bad

my_cmap = matplotlib.cm.get_cmap('rainbow')my_cmap.set_under('w')imshow(np.arange(25).reshape(5, 5),       interpolation='none',       cmap=my_cmap,       vmin=.001)

You can tweak the colorbar to also show the 'under' (and the symmetric 'over') color using the kwarg extend, see example and docs.

For an answer to a duplicate with more complete examples see How to create matplotlib colormap that treats one value specially?