La gestión eficaz del color en los gráficos estadísticos es esencial para
transmitir la información de forma clara y comprensible. Si bien los datos son
importantes, los colores ayudan a reforzar el mensaje, además de darle una
armonía a la presentación de los datos, en especial al diseñar dashboards o
tableros de control, donde varios gráficos deben mantener una consistencia y
funcionalidad equilibrada con la estética. Aquí hay algunos consejos sobre
cómo usar el color correctamente en los gráficos:
- Simplicidad: Usa pocos colores para evitar confusión visual.
-
Consistencia: Usa los mismos colores en todos los gráficos para
comparación fácil.
-
Contraste: Asegúrate de que los colores se diferencien claramente.
-
Color significativo: Asigna colores con sentido, como categorías
diferentes.
-
Gradientes sutiles: Utiliza colores suaves para valores continuos.
- Evita arco iris: No uses demasiados colores llamativos.
-
Blanco y negro: Asegúrate de que los gráficos sean comprensibles en
ambos modos.
-
Contexto cultural: Considera las connotaciones culturales de los
colores.
-
Resaltar datos clave: Usa colores intensos para resaltar información
importante.
-
Leyendas claras: Explica claramente el significado de los colores.
-
Pruebas previas: Pide retroalimentación para evitar problemas de
percepción.
-
Herramientas de diseño: Usa programas adecuados y paletas de colores
armoniosas.
Paletas de colores en Plotly
Plotly ofrece diferentes maneras de personalizar los colores de los gráficos;
para ello ofrece básicamente paletas:
-
Discretas: Usadas generalmente para diferenciar categorías
-
Contínuas: Usadas para valores numéricos contínuos donde el
color varía en tono o intensidad dependiendo del valor asociado; muy
utilizado para mapas de calor.
Las paletas estándar de Plotly las encontrarás en diferentes módulos de
"colors" y son:
-
Qualitative: Estas secuencias de colores son adecuadas para
datos que no tienen un orden natural, como categorías, colores, nombres,
países, etc. Se recomienda para pasar como argumento
color_discrete_sequence a varias funciones de Plotly.
-
Sequential: Estas escalas de color se pueden usar para la
mayoría de los datos continuos o categorías que tengan algún tipo de
orden. Se recomiendan para usar como argumento para el parámetro
color_continuous_scale a varias funciones.
-
Carto: Secuencia de colores de
CARTO's CartoColors
-
Cyclical: Estas escalas de colores se pueden usar para datos
continuos que tienen un ciclo, como datos temporales (hora del día, día de
la semana, día del año, estaciones).
-
Cmocean: Secuencias de colores del
proyecto cmocean
-
Colorbrewer: Secuencias de color del
proyecto colorbrewer 2
-
Diverging: Las escalas de color divergentes se pueden usar
para datos continuos que tienen un punto medio natural, como temperaturas,
altitudes etc. Se pueden usar como argumento del parámetro color_continuous_scale
a , y pasando el dato medio en color_continuous_midpoint.
Para ver los diferentes colores puedes usar el siguiente código, quitándo el
comentario de la paleta de colores que quieren ver:
import plotly.express as px
# fig = px.colors.qualitative.swatches()
# fig = px.colors.sequential.swatches()
# fig = px.colors.sequential.swatches_continuous()
# fig = px.colors.carto.swatches()
# fig = px.colors.cyclical.swatches()
# fig = px.colors.cyclical.swatches_continuous()
# fig = px.colors.cyclical.swatches_cyclical()
# fig = px.colors.cmocean.swatches()
# fig = px.colors.cmocean.swatches_continuous()
# fig = px.colors.colorbrewer.swatches()
# fig = px.colors.diverging.swatches()
fig.show()
Para facilitar la revisión de las paletas de colores creé una utilidad en
Streamlit que pueden
ver aquí y si quieres conocer más detalles del manejo de colores puedes ver la
documentación oficial de Plotly
Para pasar el color se usa la ruta completa de la paleta seleccionada como se
ve en el siguiente código. Aquí usamos el parametro color_discrete_sequence pero para paletas contínuas se
usa color_continuous_scale
import plotly.express as px
import pandas as pd
# Fuente de datos
dfDatos = pd.read_csv('https://raw.githubusercontent.com/gcastano/datasets/main/gapminder_data.csv')
# #Agrupamos los datos totales
dfDatos2050 = dfDatos[dfDatos['year']==2050].groupby(['continent'],as_index=False).agg({'lifeExpectancy':'mean','population':'sum', 'mean_house_income':'mean','median_age_year':'mean'})
# Crear gráfico línea
fig = px.bar(data_frame= dfDatos2050.sort_values(by='lifeExpectancy',ascending=False), #Dataframe con los datos
x='continent', #Campo para el eje X
y=['lifeExpectancy','median_age_year'], #Campo para el eje Y (Numérico)
title='Life Expectancy at birth vs Year 2050', #Título general del gráfico
category_orders={'continent':['North America','South America','Africa', 'Asia', 'Europe','Oceania']}, #Permite establecer un orden personalizado de las cateegorías
color_discrete_sequence=px.colors.qualitative.Alphabet,
barmode = 'group'
)
# Mostrar gráfico
fig.show()
Esto dará el siguiente resultado:
Como último tip, Plotly te permite definir tus escalas personalizadas, en caso
de que desees que tus colores sean consistentes como temas como marca o
paletas de colores del sitio web. Para ello debes elegir los códigos
hexadecimales de los colores que deseas y pasarlos así como parámetro a la función de Plotly que corresponda:
color_discrete_sequence=['#a63737','#3b37a6','#46c158']
0 Comentarios