我想在使用imshow的图像中使用颜色Map表rainbow。它工作得很好,但我想重新定义值0的颜色。我想使用白色而不是violete。我只想对零值这样做,所有其他值都可以保持颜色表中的默认值。有没有办法在不需要手动编辑色彩Map表的情况下做到这一点?
imshow
rainbow
0
1szpjjfi1#
您也可以使用set_under,我认为它比使用set_bad更有语义意义
set_under
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)
你可以使用kwarg extend调整颜色条来显示“under”(和对称的“over”)颜色,参见example和文档。关于重复的答案和更完整的例子,请参阅如何创建matplotlib colormap,特别对待一个值?
extend
1条答案
按热度按时间1szpjjfi1#
您也可以使用
set_under
,我认为它比使用set_bad
更有语义意义你可以使用kwarg
extend
调整颜色条来显示“under”(和对称的“over”)颜色,参见example和文档。关于重复的答案和更完整的例子,请参阅如何创建matplotlib colormap,特别对待一个值?