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

前端 未结 1 1693
遥遥无期
遥遥无期 2020-12-13 19:35

I want to use the colormap rainbow in an image using imshow. It works perfectly, but I want to redefine the color for the value 0. Ins

相关标签:
1条回答
  • 2020-12-13 19:50

    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?

    0 讨论(0)
提交回复
热议问题