
Searbon es una de las bibliotecas para la visualización de datos más popular en Python porque ofrece una amplia gama de gráficos predefinidos y la capacidad de personalizarlos para adaptarlos a las necesidades de cada usuario. Lo que permite crear las visualizaciones al gusto y preferencia de los diferentes usuarios. En esta entrada, se explorarán algunas de las algunas de las principales opciones disponibles para la personalización de gráficos en Seaborn. Prestando especial atención a la modificación de colores, estilos y etiquetas. Aprendiendo cómo utilizar estas opciones de personalización para crear gráficas más atractivas y efectivas.
Tabla de contenidos
Importación de datos
Como es habitual en esta serie de publicaciones, para facilitar el seguimiento de los ejemplos, se usará conjuntos de datos disponibles en Seaborn. En esta ocasión se usarán dos, el conjunto de datos de propinas tips y el el popular conjunto de datos de iris. Conjuntos de datos que se pueden importar con la función load_dataset()
de Seaborn. En primer lugar, se importará el conjunto de datos tips.
import seaborn as sns # Cargar el conjunto de datos "tips" tips = sns.load_dataset('tips') # Imprimir los primeros registros del conjunto de datos print(tips.head())
total_bill tip sex smoker day time size 0 16.99 1.01 Female No Sun Dinner 2 1 10.34 1.66 Male No Sun Dinner 3 2 21.01 3.50 Male No Sun Dinner 3 3 23.68 3.31 Male No Sun Dinner 2 4 24.59 3.61 Female No Sun Dinner 4
Cambiar los colores de los gráficos
En Seaborn existen varias opciones para modificar los colores empleados en los gráficos. Por un lado, se puede usar cualquiera de las paletas predeterminadas de colores que se incluyen en Seaborn. Por otro lado, existe la opción de crear una paleta personalizada con los colores deseados. En ambos casos, para indicar la paleta a usar a un gráfico se debe usar la propiedad palette
.
Paletas predeterminadas de Seaborn
Seaborn provee decenas de paletas predeterminadas, algunas de las más populares son:
- “deep”: Una paleta con colores intensos y saturados, ideal para visualizaciones llamativas y vibrantes.
- “bright”: Una paleta con colores brillantes y vivos, que resulta efectiva cuando se busca un contraste alto y una apariencia enérgica.
- “pastel”: Una paleta suave y delicada con tonos pasteles, ideal para visualizaciones suaves y elegantes.
- “colorblind”: Una paleta diseñada para ser fácilmente distinguible para personas con daltonismo. Proporciona colores que son perceptibles tanto para personas con visión normal como para personas con diferentes tipos de daltonismo.
- “dark”: Una paleta con tonos oscuros y profundos, ideal para gráficos con un fondo oscuro o para resaltar elementos en un entorno visualmente oscuro.
- “muted”: Una paleta con colores apagados y suaves, que resulta efectiva para visualizaciones sutiles y discretas.
- “viridis”: Una paleta de colores continua y perceptualmente uniforme que abarca desde tonos amarillos hasta verdes oscuros, diseñada para representar datos cuantitativos de manera efectiva.
- “plasma”: Una paleta similar a “viridis”, pero que varía desde tonos rosados hasta púrpuras oscuros. También es útil para representar datos cuantitativos de manera efectiva.
- “inferno”: Una paleta que va desde tonos amarillos oscuros hasta negros, proporcionando un contraste alto y efectos dramáticos.
- “coolwarm”: Una paleta de colores divergente que combina tonos fríos (azules) y cálidos (rojos), lo que la hace adecuada para representar diferencias positivas y negativas en los datos.
Para asignar una paleta solamente se debe asignar a la propiedad palette
de las diferentes funciones una cadena de texto con el nombre de la paleta. Por ejemplo, se puede ver el resultado de una gráfica de barras con la paleta “colorblind”.
# Utilizar una paleta de colores predeterminada en un gráfico de barras sns.barplot(data=tips, x="size", y="tip", errorbar=None, palette="colorblind")

Lo que se puede comparar con el resultado que se obtiene con “viridis”.
# Utilizar una paleta de colores predeterminada en un gráfico de barras sns.barplot(data=tips, x="size", y="tip", errorbar=None, palette="viridis")

Obviamente estos son solo dos ejemplos. Cada usuario puede explorar y experimentar con estas y otras paletas de colores para encontrar aquello que mejor se adapte a sus necesidades y preferencias visuales. Para conseguir así la personalización de gráficos en Seaborn.
Paleta personalizadas
Si ninguna de las paletas preferidas se adapta a nuestras necesidades, o es necesitamos usar paleta corporativa específica, siempre se puede crear una paleta personalizada. Para ello simplemente se debe crear una lista con los colores en el orden que se desean usar en formato hexadecimal. Las funciones usarán estos colores en el orden indicado. Cuando el número de colores indicados es inferior al necesario para la gráfica, se repetirán los colores desde el principio. Por ejemplo, se puede crear una paleta de tres colores y usarlos en una nueva gráfica de barras. Al igual que en las paletas predefinidas los colores se indican mediante la propiedad palette
.
# Crear una paleta de colores personalizada en formato hexadecimal my_palette = ["#FF0000", "#00FF00", "#0000FF"] # Utilizar la paleta de colores personalizada en un gráfico de barras sns.barplot(data=tips, x="day", y="tip", errorbar=None, palette=my_palette)

Nótese que en este caso la gráfica tiene cuatro barras, pero solo se han indicado tres colores. Por eso la cuarta barra vuelve a ser roja como la primera.
Cambiar el estilo de los gráficos
Otra forma para personalizar las gráficas es mediante el uso de estilos visuales. Los estilos visuales no solo fijan el color de las gráficas, sino que también afecta al fondo de la gráfica y a los ejes. Para fijar un nuevo estilo se deben usar la función set_style()
antes de crear una gráfica y los cambios afectarán a todos los gráficos que se creen a partir de esta línea. Algunos de los estilos más comunes incluidos en Seaborn son:
- “darkgrid”: Este estilo presenta un fondo oscuro con una cuadrícula visible, lo que resalta los elementos trazados.
- “whitegrid”: Similar al estilo “darkgrid”, pero con un fondo claro. Es útil cuando deseas resaltar los elementos trazados en contraste con el fondo.
- “dark”: Este estilo presenta un fondo oscuro sin una cuadrícula visible. Es adecuado para gráficos donde la cuadrícula no es necesaria o puede confundir a los usuarios.
- “white”: Similar al estilo “dark”, pero con un fondo claro. Es una opción limpia y simple para resaltar los elementos trazados.
- “ticks”: Este estilo muestra marcas de ticks en los ejes x e y. Es útil cuando deseas una visualización con marcas de ticks claras y visibles.
Al igual que en el caso de las paletas de colores, estos estilos son solo algunos ejemplos de estilos populares. Cada usuario debe probar diferentes para ver cuáles son los que mejor se adapta a sus preferencias. A continuación, se muestra cómo queda una gráfica de barras con el estilo “darkgrid”.
# Cambiar el estilo de un gráfico de barras sns.set_style("darkgrid") sns.barplot(data=tips, x="size", y="tip", errorbar=None)

Cambiar las etiquetas de los gráficos
Entre las opciones de personalización de gráficos en Seaborn también existe la posibilidad de indicar las etiquetas que se deben mostrar en los ejes x e y, así como añadir títulos y/o leyendas en los gráficos. Para esto se deben usar respectivamente las funciones de Matplotlib set_xlabel()
, set_ylabel()
, set_title()
y legend()
. A continuación, se muestra un ejemplo de una gráfica de dispersión con el popular conjunto de datos iris (conjunto que se debe cargar previamente).
import matplotlib.pyplot as plt # Cargar el conjunto de datos "iris" iris = sns.load_dataset("iris") # Cambiar las etiquetas de un gráfico de dispersión sns.scatterplot(data=iris, x="sepal_length", y="sepal_width", hue="species") # Personalizar las etiquetas de los ejes y añadir título y leyenda plt.xlabel("Longitud del sépalo") plt.ylabel("Ancho del sépalo") plt.title("Diagrama de dispersión de longitud del sépalo vs. ancho del sépalo") plt.legend(title="Especies")

Nótese que en este caso aún se conserva el estilo fijado en la sección anterior.
Conclusiones
Existen numerosas opciones para la personalización de gráficos en Seaborn. Lo que permite personalizarlos, hacerlos más atractivos y adaptarlos a las necesidades y preferencias visuales de los diferentes usuarios. En esta entrada, se ha visto cómo cambiar los colores utilizando paletas predeterminadas y paletas personalizadas, cómo cambiar el estilo visual de los gráficos y cómo personalizar las etiquetas de los ejes, títulos y leyendas. Siendo estas solo algunas de las opciones que ofrece Seaborn. Para encontrar un estilo personalizado es necesario experimentar con diferentes opciones y seleccionar aquel que mejor se adapte a las preferencias visuales de cada usuario.
Deja una respuesta