python - diverging - Cómo redefinir un color para un valor específico en un mapa de color de matplotlib
sequential colormaps (1)
Quiero usar el rainbow
mapa de imshow
en una imagen usando imshow
. Funciona perfectamente, pero quiero redefinir el color para el valor 0
. En lugar de violete, quiero usar el blanco.
Quiero hacer esto solo para el valor cero, todos los demás valores pueden permanecer con los valores predeterminados en el mapa de colores.
¿Alguna idea de cómo hacer esto sin tener que editar el mapa de colores manualmente?
También puedes usar set_under
que creo que tiene más sentido semántico que usar 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)
Puede ajustar la barra de colores para que muestre también el color ''debajo'' (y el ''sobre'' simétrico) usando la extend
kwarg, vea example y docs .
Para obtener una respuesta a un duplicado con ejemplos más completos, consulte ¿Cómo crear un mapa de color matplotlib que trate un valor en especial?