Mapa de colores inverso en matplotlib
Me gustaría saber cómo invertir simplemente el orden de los colores de un mapa de colores determinado para poder usarlo con plot_surface.
Todos los mapas de colores estándar también tienen versiones invertidas. Tienen los mismos nombres _r
añadidos al final. ( Documentación aquí. )
La solución es bastante sencilla. Suponga que desea utilizar el esquema de mapa de colores "otoño". La versión estándar:
cmap = matplotlib.cm.autumn
Para invertir el espectro de colores del mapa de colores, use la función get_cmap() y agregue '_r' al título del mapa de colores de esta manera:
cmap_reversed = matplotlib.cm.get_cmap('autumn_r')
A partir de Matplotlib 2.0, existe un reversed()
método para objetos ListedColormap
y LinearSegmentedColorMap
, por lo que puedes hacerlo
cmap_reversed = cmap.reversed()
Aquí está la documentación.
En matplotlib, un mapa de colores no es una lista, pero contiene la lista de sus colores como colormap.colors
. Y el módulo matplotlib.colors
proporciona una función ListedColormap()
para generar un mapa de colores a partir de una lista. Entonces puedes invertir cualquier mapa de color haciendo
colormap_r = ListedColormap(colormap.colors[::-1])