ylorrd diverging colormaps color cmap python matplotlib color-mapping

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?