Mapas de Colores en Python con Matplotlib

0
604

En el mundo del análisis de datos y la visualización científica, elegir el mapa de colores adecuado es crucial para interpretar correctamente la información representada. Los mapas de colores (colormaps) en Matplotlib, una popular biblioteca de visualización en Python, ofrecen una amplia gama de opciones para representar datos de manera efectiva.

Esta guía presenta los diferentes tipos de colormaps disponibles en Matplotlib, incluyendo secuencias de colores perceptualmente uniformes, secuenciales, divergentes, cíclicos, cualitativos y varios otros. Cada tipo de colormap tiene aplicaciones específicas y es importante seleccionar el más adecuado para destacar las características clave de los datos.

A continuación, se presentan los distintos tipos de colormaps con ejemplos visuales, ayudando a los usuarios a tomar decisiones informadas para sus visualizaciones. Esto conforme a lo establecido en la documentación oficial de Matplotlib.

Perceptually Uniform Sequential (Secuencial Uniformemente Perceptual)

Esta categoría incluye mapas de colores diseñados para tener una percepción uniforme en términos de diferencias de color. Son ideales para visualizaciones donde es importante percibir cambios graduales en los datos de manera consistente, como en mapas de calor o visualizaciones de densidad.

Estos son: Viridis, Plasma, Inferno, Magma, Cividis.

Viridis, Plasma, Inferno, Magma, Cividis

Sequential (Secuencial)

Los mapas de colores secuenciales presentan una transición suave generalmente de colores claros a oscuros, ideales para representar magnitudes y densidades en datos como gráficos de superficie o contornos.

Estos son: Greys, Purples, Blues, Greens, Oranges, Reds, YlOrBr, YlOrRd, OrRd, PuRd, RdPu, BuPu, GnBu, PuBu, YlGnBu, PuBuGn, BuGn, YlGn.

Greys, Purples, Blues, Greens, Oranges, Reds, YlOrBr, YlOrRd, OrRd, PuRd, RdPu, BuPu, GnBu, PuBu, YlGnBu, PuBuGn, BuGn, YlGn

Sequential (2) (Secuencial 2)

Esta variante de los mapas secuenciales incluye una gama más amplia y variada de colores, útil para destacar diferentes rangos de datos en una sola visualización, como en mapas geográficos o imágenes de satélite.

Estas son: binary, gist_yarg, gist_gray, gray, bone, pink, spring, summer, autumn, winter, cool, Wistia, hot, afmhot, gist_heat, copper.

binary, gist_yarg, gist_gray, gray, bone, pink, spring, summer, autumn, winter, cool, Wistia, hot, afmhot, gist_heat, copper

Diverging (Divergente)

Los mapas de colores divergentes son ideales para destacar desviaciones o diferencias alrededor de un punto medio en los datos, usando contrastes de colores. Son especialmente útiles en visualizaciones que involucran cambios o diferencias, como en mapas de anomalías climáticas o diferencias de temperatura.

Estos son: PiYG, PRGn, BrBG, PuOr, RdGy, RdBu, RdYlBu, RdYlGn, Spectral, coolwarm, bwr, seismic.

PiYG, PRGn, BrBG, PuOr, RdGy, RdBu, RdYlBu, RdYlGn, Spectral, coolwarm, bwr, seismic

Cyclic (Cíclico)

Los mapas cíclicos son perfectos para representar datos que se mueven en un ciclo continuo, como fases angulares o tiempo del día. Son ideales para visualizaciones que necesitan representar una secuencia cíclica, como en estudios de fenómenos periódicos o patrones temporales.

Estos son: twilight, twilight_shifted, hsv.

twilight, twilight_shifted, hsv

Qualitative (Cualitativo)

Estos mapas de colores proporcionan contrastes claros entre categorías discretas, útiles para visualizar datos categóricos o etiquetados, como en gráficos de barras o tortas para comparaciones de grupos o categorías.

Estos son: Pastel1, Pastel2, Paired, Accent, Dark2, Set1, Set2, Set3, tab10, tab20, tab20b, tab20c.

Pastel1, Pastel2, Paired, Accent, Dark2, Set1, Set2, Set3, tab10, tab20, tab20b, tab20c

Miscellaneous (Varios)

Esta categoría incluye una diversa gama de mapas de colores con aplicaciones específicas y efectos visuales únicos, adecuados para situaciones especializadas o cuando se desea un impacto visual particular, como en visualizaciones artísticas o para destacar características específicas en datos complejos.

Estos son: flag, prism, ocean, gist_earth, terrain, gist_stern, gnuplot, gnuplot2, CMRmap, cubehelix, brg, gist_rainbow, rainbow, jet, nipy_spectral, gist_ncar.

flag, prism, ocean, gist_earth, terrain, gist_stern, gnuplot, gnuplot2, CMRmap, cubehelix, brg, gist_rainbow, rainbow, jet, nipy_spectral, gist_ncar

Ejemplo de implementación

A continuación, presentamos un ejemplo práctico de cómo generar y visualizar una matriz de confusión para un modelo de clasificación con 10 clases diferentes, utilizando Python y las bibliotecas Matplotlib y Seaborn.

Este script produce el siguiente resultado:

mapa de colores viridis
Matriz de confusión con escala de colores Viridis

Si cambiamos el parámetro cmap=’viridis’ por cmap=’inferno’ veremos el siguiente resultado:

mapa de colores inferno

El mismo resultado se puede obtener para cualquiera de las paletas de colores anteriormente presentadas.

Conclusión

La selección adecuada de un mapa de colores es un aspecto crucial en la visualización de datos, ya que el color no solo embellece la gráfica, sino que también comunica información esencial. Como hemos visto, Matplotlib ofrece una variedad de opciones en mapas de colores, cada una adecuada para diferentes tipos de datos y contextos de visualización. Desde representaciones uniformes hasta mapas cíclicos, la elección del colormap correcto puede mejorar significativamente la interpretación y el impacto visual de los datos.

Esta guía detallada sobre los diferentes tipos de colormaps en Matplotlib, junto con ejemplos prácticos, tiene como objetivo ayudar a los analistas y científicos de datos a tomar decisiones más informadas y efectivas en sus visualizaciones. Al final, el objetivo es presentar los datos de una manera que sea no solo estéticamente agradable, sino también, y lo que es más importante, intuitiva y reveladora en cuanto a la narrativa que los datos tienen para contar.

Espero que la información presentada les sea útil. Cualquier duda o comentario me lo hacen llegar a través de la caja de comentarios.

0 0 votes
Article Rating
Suscríbete
Notify of
guest

0 Comments
Inline Feedbacks
View all comments